當我宣佈一個屬性,而不使用存儲規範+實例變量,一切工作愉快:使用@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