iOS:xCode无法识别新的类方法

时间:2013-11-30 16:01:30

标签: ios objective-c xcode cocoa-touch header-files

由于某些原因,我添加到自定义NSObject类的新方法在导入该类的其他文件中无法识别。旧的仍然是自动填充的,但是新的获得了“没有已知的选择器类方法”。类中的所有方法都定义为类方法(+)。

我已经清理并尝试重建,我尝试重新启动xCode。我无法弄清楚什么是错的。有人以前经历过这个吗?

@interface SongMethods : NSObject

+(NSMutableArray *)asdf;

然后称之为

#import "SongMethods.h"

@interface HomeViewController ()
@property ViewType billboardType;

@end

@implementation HomeViewController

-(void)someMethod
{
[SongMethods asdf];
}

3 个答案:

答案 0 :(得分:4)

由于某种原因,文件是从重复的位置引用的,而在其他类中导入的文件与我在导航器中编辑的文件不同。

答案 1 :(得分:0)

您可以尝试删除整个项目派生数据文件夹。

答案 2 :(得分:0)

要创建类方法,您需要先在.h文件中引入该方法:

MyClass.h

@interface MyClass : NSObject

// Note: + sign is for class method and - sign for instance method
+ (BOOL)returnYesPlease;

@end

然后在.m文件中添加方法的实现:

MyClass.m

@implementation MyClass

+ (BOOL)returnYesPlease {
    return YES;
}

@end

要在MyClass中使用类方法,您需要先在.h文件中导入头文件:

MyOtherClass.h

#import "MyClass.h"

@interface MyOtherClass : NSObject

@end

在.m文件中调用该类方法:

@implementation MyOtherClass

- (void)doSomething {
    BOOL yesVar = [MyClass returnYesPlease];
}

@end