有没有办法在目标C中申报私有财产?目标是从实现特定内存管理方案的综合getter和setter中获益,但不公开.

试图在类别中声明属性会导致错误:

@interface MyClass : NSObject {
    NSArray *_someArray;
}

...

@end

@interface MyClass (private)

@property (nonatomic, retain) NSArray   *someArray;

@end

@implementation MyClass (private)

@synthesize someArray = _someArray;
// ^^^ error here: @synthesize not allowed in a category's implementation

@end

@implementation MyClass

...

@end

推荐答案

我像这样实现我的私有属性.

我的班级.M

@interface MyClass ()

@property (nonatomic, retain) NSArray *someArray;

@end

@implementation MyClass

@synthesize someArray;

...

这就是你所需要的.

Objective-c相关问答推荐

日期更改时的 UIDatePicker

错误无法使 UICollectionElementKindCell 类型的视图出列

我应该打电话给 [super awakeFromNib] 吗?

将 Objective-C 指针类型NSString *转换为 C 指针类型CFStringRef(又名const struct __CFString *)需要桥接转换

改变 RGB colored颜色 的色调

ARC的正确桥接?

在 Xcode 中为无法识别的 Select 器创建断点

在基于视图的 NSTableView 上更改 Select colored颜色

在objective-c中创建现在的时间戳作为NSNumber

Objective-C 方法中的静态变量是否跨实例共享?

lldb 无法打印变量值并显示错误:对 'id' 的引用不明确

iOS 6 Facebook 发布过程以remote_app_id 与存储的 id 不匹配结束

未找到 RKObjectMapping.h

访问当前视图的父视图 - iOS

NSSet 到 NSArray 转换调用 objectAtIndex?

如何以编程方式移动 UIScrollView 以集中在键盘上方的控件中?

如何本地化 iOS 故事板

如何判断数组是空还是空?

zoom UIView 及其所有子项

找出窗口中的 UIBarButtonItem 框架?