[英]objective-c ARC readonly properties and private setter implementation
[英]Objective-C property that is readonly publicly, but has a private setter
我想使用@property
語法聲明一個公開只讀的合成屬性,但是有一個可以在類中私下調用的setter。
由於它是Objective-C,這基本上意味着將合成setFoo:
方法,但是在類本身之外調用它將導致警告(無法識別的選擇器)。 要觸發警告,我必須readonly
聲明屬性; 有沒有辦法強制合成的setter只在類中可用?
我可能會遲到,但沒有擴展我使用了以下技術
@interface MyClass : NSObject {
NSString * name;
}
@property (readonly, strong) NSString * name;
@end
另一方面在實現文件中
@implementation MyClass
@synthesize name;
- (id)initWithItems:(NSDictionary *)items {
self = [super init];
if(self)
{
name = @"abc";
}
return self;
}
@end
這樣做,它將設置您的價值,並將以只讀方式訪問。 謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.