SDK开发中修改只读属性

在SDK开发中有一些属性暴露给外界的是readonly属性,那在SDK内部是如何修改这些属性的呢?

例如:

暴露readonly属性的类SampleClass

@interface SampleClass : NSObject

@property (nonatomic, copy, readonly) NSString* aReadOnlyPropertyString;

@end

SampleClassB提供了属性(SampleClass *)sample

@interface SampleClassB : NSObject

@property (nonatomic, strong) SampleClass *sample;

@end

SampleClassB中是如何对aReadOnlyPropertyString初始化的呢?

众所周知extension中可以修改属性的读写,于是我加了一个不暴露的头文件SampleClass_private.h

#import <SampleSDK/SampleClass.h>

@interface SampleClass ()

@property (nonatomic, copy, readwrite) NSString* aReadOnlyPropertyString;

@end

从而实现了只读属性的内部写操作

Loading Disqus comments...
Table of Contents