0

我在调用返回类型的方法时遇到-(void)问题class

问题是:Instance method - someMethodName not found (return type defaults to 'id')

4

2 回答 2

1

someMethodName在你的.h文件中声明。

于 2012-07-30T13:26:18.180 回答
0

问题是 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 中,您需要提供声明。您可以在@interfacein.h文件中执行此操作:

//example.h
@interface ExampleClass : NSObject
-(void)anotherMethod;
@end

将声明放在 中的问题.h是所有其他类都可以看到该方法,这可能会导致问题。为了解决这个问题,您可以在以下声明中声明一个类延续.m

//ExampleClass.m
@interface ExampleClass ()
-(void)anotherMethod;
@end

@implementation ExampleClass
   //...
@end
于 2012-07-30T13:36:18.910 回答