问题
我想用这个签名创建一个接口,但没有自动合成的实例变量:
@interface MyObject : NSObject
@property (nonatomic, copy) NSArray *values;
@end
问题:
是否可以防止在 .m @implementaion 中自动合成实例变量,因为我想实现自己的 getter 和 setter,而且我不打算使用实例变量。
原因:
原因是我不想有内存开销,因为数据将存储在纯字节存档中。同时我不希望用户知道实现问题并保持接口签名不变。
@implementation MyObject {
NSData *_data
{
- (NSArray *)values
{
// Generate NSArray from _data
}
- (void)setValues(NSArray *)values
{
// Set _data from values
}
#pragma mark - Hidden init
- (id)initWithData:(NSData *)data
{
// Set _data
}
@end