我相信這個圖像是相當描述我的問題。如果我只定義如下定製getter
:指定只有getter產生警告b/c沒有setter,但setter不會編譯
- (UIImage *) secondaryIconImage {
if (_secondaryIconImage) return _secondaryIconImage;
return nil;
}
然後我得到一個錯誤:「cannot pair a synthesized setter with a user defined getter
」。但是,如果我嘗試申報setter
以及我的代碼將不能編譯:
- (void) setSecondaryIconImage:(UIImage *)secondaryIconImageVar {
_secondaryIconImage = secondaryIconImageVar;
}
這尤其給我的編譯時錯誤「Use of undeclared identifier _secondaryIconImage
」
我想也許我一旦宣佈二傳手我會合成實例變量自己,所以我嘗試添加:
@synthesize _secondaryIconImage;
這並沒有幫助。這裏發生了什麼,我該如何解決它?
p.s.我有一個自定義的getter,因爲我最終需要做一些更有趣的事情,但我沒有看到讓這個例子複雜化的理由,因爲即使這個基本的例子給我一個問題。
爲什麼你需要那個setter?這正是內置的功能之一......你的編譯錯誤是由於你沒有在你的類中定義的_secondaryIconImage變量。如果你定義了,那麼一切都應該適合你編譯。 – Putz1103
@ Putz1103我想做更多的事情,只是沒有看到在代碼中包含它的理由。 – helloB