当我宣布一个属性,而不使用存储规范+实例变量,一切工作愉快:使用@property在ARC
@interface Foo : NSObject {
NSSomething* mySomething;
}
@property (readonly) NSSomething* mySomething;
然而,当我删除实例变量声明,我得到一个编译错误,指出我必须指定存储类型:
@property (readonly, strong) NSSomething* mySomething;
这让我不知道我应该只需要声明强烈,但它应该是只读反正.. 这到底是怎么回事?我应该在哪种情况下使用哪种方法?
EDIT(对于那些无法复制的问题):
我无法复制,有没有其他信息可以提供?以下是我尝试的代码:http://pastebin.com/4Mj1rzHd(使用'clang -fobjc-arc Untitled.m -framework Foundation'编译) – 2012-04-05 11:58:06
对于其他无法重现的代码,我认为这是本地化版本问题使用Xcode 4.2提供的LLVM编译器,并且您不再在4.3+版本中对此进行警告。我已经用我在4.3下编写的框架代码碰到过这个问题,但是人们抱怨4.2下的编译错误。 – 2012-04-07 15:50:55