[英]How to change readonly property in category in objective-c
在我的* .h文件中,我具有只讀的foo
屬性。
我通過使用_foo = _foo + 1;
更新了該屬性,從而贏得了其他一些公共方法_foo = _foo + 1;
現在,我在該* .h文件上具有類別。
我需要從類別更新foo
屬性。
如果我使用_foo
則Use of undeclared identifier '_foo''
如果我使用self.foo = 5
那么我將Assignment to readonly property
我知道可以通過將foo
屬性設置為readwrite來解決此問題,但我想避免這種情況。
題
怎么解決呢?
也可以將屬性從類外部設置為只讀,但從類和類別內部設置為readwrite?
那將解決這個問題。
您還可以在頭文件中聲明屬性的支持實例變量,以便編譯器可以在類別中查看它:
@interface MyClass : NSObject
{
int _foo;
}
@property (readonly) int foo;
@end
明確聲明此變量將用於支持屬性(僅出於安全考慮):
@implementation MyClass
@synthesize foo = _foo;
...
@end
然后在類別中引用_foo
應該可以正常工作:
@implementation MyClassCategory
- (void)someMethod
{
_foo++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.