1
tldr,簡單的問題是:在OS X 10.10中我無法調用在委託類中定義的方法。Objective-C 10.10 NSApplication委託不能調用委託類中定義的方法
一些信息如下:
我有一個樣品可可項目,其中有一個委託類,並確定了其方法如下:
@interface SPVAppDelegate : NSObject <NSApplicationDelegate>
- (void)doSomething;
end
如果我編譯該項目以10.9 SDK,我可以調用此方法中的doSomething計劃的另一部分是這樣的:
[[NSApp delegate] doSomething];
但是,隨着10.10的SDK,我會在編譯項目時出現此錯誤:
No known instance method for selector 'doSomething'
爲什麼如果使用10.10 SDK時未找到此方法?這裏的API有什麼改變嗎?
Xcode 6.1在10.9上發生了同樣的問題。我通過在構建設置中明確地選擇「Base SDK」作爲OSX 10.9來解決問題。 – Bigfei 2014-10-30 05:55:01