当我声明一个没有存储规范 + 实例变量的属性时,一切都很顺利:
@interface Foo : NSObject {
NSSomething* mySomething;
}
@property (readonly) NSSomething* mySomething;
然而,当我删除实例变量声明时,我收到一个编译错误,指出我必须指定存储类型:
@property (readonly, strong) NSSomething* mySomething;
这让我想知道我是否应该声明强,但无论如何它应该是只读的。这里发生了什么?在哪种情况下我应该使用哪种方法?
编辑(对于那些无法复制问题的人):