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