创建类别获取错误“无法为未定义的类定义类别”

时间:2013-12-17 09:48:36

标签: objective-c objective-c-category

enter image description here

当我尝试创建2类我自己的简单类(类名为Car)时,我遇到了问题。我为这个课程创建了2个类别,仅用于测试"汽车+ show.h" &安培; "汽车+ Protected.h&#34 ;.我只是写一些非常小的方法,像NSLog一样刺痛。

我的问题是,当我构建应用程序时,我将错误输入分类文件"无法为未定义的Class Car"定义类别。请告诉我我错在哪里。 enter image description here

2 个答案:

答案 0 :(得分:15)

如果您将类别标题文件导入Car.h,并且您的类别标题文件本身导入Car.h,那么您会遇到导致您出现问题的circular import

类别用于向类添加功能或将接口拆分为多个标头。如果要将类别标题导入主类标题,这就失败了。

类别标题只应包含在需要使用类别中定义的功能的文件中。

答案 1 :(得分:0)

我偶然解决了运气问题。我真的不知道这个事实。  关键是当我将类别文件导入Car.h文件时,它会创建我与您共享的错误。但是当我只导入同一个文件而且只导入Car.m文件时它工作正常。

当我将类别文件导入.h文件时,我真的不知道为什么会出现错误。请解释为什么会出错?

感谢Mukesh