我在调用返回类型的方法时遇到-(void)
问题class
问题是:Instance method - someMethodName not found (return type defaults to 'id')
someMethodName
在你的.h
文件中声明。
问题是 Xcode 找不到该方法的声明。.m
在最新版本的 Xcode 中,如果实现与您调用它的方法相同,则不需要为方法提供声明。例如:
//ExampleClass.m
@implementation ExampleClass
-(void)aMethod {
[self anotherMethod]; //Xcode can see anotherMethod so doesn't need a declaration.
}
-(void)anotherMethod {
//...
}
@end
但是在早期版本的 Xcode 中,您需要提供声明。您可以在@interface
in.h
文件中执行此操作:
//example.h
@interface ExampleClass : NSObject
-(void)anotherMethod;
@end
将声明放在 中的问题.h
是所有其他类都可以看到该方法,这可能会导致问题。为了解决这个问题,您可以在以下声明中声明一个类延续.m
:
//ExampleClass.m
@interface ExampleClass ()
-(void)anotherMethod;
@end
@implementation ExampleClass
//...
@end