由于某些原因,我添加到自定义NSObject类的新方法在导入该类的其他文件中无法识别。旧的仍然是自动填充的,但是新的获得了“没有已知的选择器类方法”。类中的所有方法都定义为类方法(+)。
我已经清理并尝试重建,我尝试重新启动xCode。我无法弄清楚什么是错的。有人以前经历过这个吗?
@interface SongMethods : NSObject
+(NSMutableArray *)asdf;
然后称之为
#import "SongMethods.h"
@interface HomeViewController ()
@property ViewType billboardType;
@end
@implementation HomeViewController
-(void)someMethod
{
[SongMethods asdf];
}
答案 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