下面是一個視圖控制器的實現一個片段:理解Objective-C的範圍問題
- (void)myOtherAwesomeMethod
{
[self myAwesomeMethod]; // Compile ERROR here: Receiver type for instance message does not declare a method with selector
}
- (void)myAwesomeMethod
{
NSLog(@"%@", @"Calling my awesome method...");
}
- (void)viewDidLoad
{
[self myAwesomeMethod];
[self myOtherAwesomeMethod];
}
我沒有在我的頭文件中聲明myAwesomeMethod
方法,但爲什麼是我可以在viewDidLoad
調用myAwesomeMethod
,但不在myOtherAwesomeMethod
?
我知道這個錯誤的解決方案是在我的頭文件中聲明該方法,但我想了解爲什麼會發生這種情況。
你在哪裏調用'-myOtherAwesomeMethod'? – vikingosegundo
我相信這只是警告,不是錯誤? – tia
你也可以只是NSLog字符串,不需要格式化它。 –