我想向我的用戶展示NSArray
(我希望他們只能閱讀它),但在我的課程中,我想使用NSMutableArray
。只讀,非可變,公共和readwrite,可變,私有@property:更多信息?
我嘗試下面的代碼,並沒有提出任何警告:
// In the .h
@interface MyClass : NSObject <NSApplicationDelegate>
@property (nonatomic, readonly) NSArray * test ;
@end
和
// In the .m
@interface MyClass()
@property (nonatomic, strong, readwrite) NSMutableArray * test ;
@end
@implementation MyClass
- (id)init
{
self = [super init];
if (self)
{
self.test = [[NSMutableArray alloc] init] ;
}
return self;
}
@end
但是,如果我嘗試從我的類中訪問@property
test
,我可以使用方法addObject:
。所以,我猜先前是不可能的。
爲什麼沒有警告,因爲它是?
檢查這個http://rypress.com/tutorials/objective-c/properties.html –
肯定'NSArray':請注意,不要在你的
-init:
方法使用自我的屬性訪問和你的實現文件中的'NSMutableArray'? – hashier是的,這是我的觀點! – Colas