直到最近,我还有一个在XCode中编译好的项目;但现在我正在摸着以下内容:
无法定义未定义类'myClass'的类别
我有一个标题,通过一个类别扩展另一个,如:
myClass.h
@interface myClass:UIView<...>
@property ....
-(void) method....
@end
myClass的+ myCategory.h
#import "myClass.h"
@interface myClass (MyCategory)
-(void) method2...
@end
myClass.m
#import "myClass.h"
#import "myClass+myCategory.h"
...
我对搜索以及编译和运行的项目历史的理解是,这应该是有效的Objective-C,它将我带到XCode。这里有什么想法吗?
答案 0 :(得分:3)
这里的问题是你的编译器在看到类别被定义或引用的文件之前就已经进入了类别标题。
当他说将导入添加到预编译的头文件时,D Carney对此有所帮助,但是他错误地导入了什么。您希望确保编译器在类别之前看到您的基类标题,以便它知道该类别适用于哪个类。答案 1 :(得分:0)
好吧,我对上述问题没有解释。我创建了一个新项目,并将所有源文件重新添加到其中。现在编译没有任何问题。
答案 2 :(得分:0)
我遇到了同样的问题。事实证明,您需要将类别包含添加到...-Prefix.pch
文件:
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
#import "myClass+myCategory.h"
#endif