调用方法时,我使用
[self methodname];
我遇到的问题是,xCode
我收到很多警告!这是"*xxxappdelegate.app may not respond to methodname*"
。
有没有更好的方法来调用方法?
答案 0 :(得分:5)
如果你收到警告,那就意味着:
答案 1 :(得分:4)
这些警告只是意味着编译器不知道有问题的类是否具有您正在调用的方法。确保您正在调用的方法定义在您正在使用它的.m文件中的位置之上,或者在文件顶部声明该方法。
@implemention A
-(void)blah
{
[self foo]; // warning!
}
-(void)foo
{
[self blah]; // no warning
}
@end
答案 2 :(得分:1)
有一种称为编译顺序的东西。当您调用方法foo
时,它尚未定义,但是当您调用方法blah
时,它仅在上面的行中定义。
更具体:
cout << a;
string a = "hello";
当您这样做时,您将收到错误未定义变量“a”。你应该做的是:
string a = "hello";
cout << a;
答案 3 :(得分:0)
将methodname
添加到您的示例中的类xxxappdelegate的@interface
。或者只是确保methodname
实现位于您在文件中调用它的位置之前。
答案 4 :(得分:0)
如果.h文件声明了方法,则可能存在与xcodes无法索引解决此问题的问题,请转到首选项并删除存档和其他存储数据。