【问题标题】:Create Category Getting Error "cannot define category for Undefined class"创建类别获取错误“无法为未定义的类定义类别”
【发布时间】:2013-12-17 09:48:36
【问题描述】:

当我尝试创建我的 OWN 简单类的 2 个类别(类名为 Car)时,我遇到了一个问题。我为这个类创建了 2 个类别,只是为了测试“Car+show.h”和“Car+Protected.h”。我只是写了非常小的方法,就像 NSLog 一样刺痛。

我的问题是,当我构建应用程序时,我在类别文件中遇到错误“无法为未定义的类汽车定义类别”。请建议我哪里错了。

【问题讨论】:

标签: objective-c objective-c-category


【解决方案1】:

如果您将类别头文件导入Car.h,并且您的类别头文件本身导入Car.h,那么您有一个circular import,这会导致您出现问题。

类别用于向类添加功能或将接口拆分为多个标题。如果您将类别标题导入到您的主类标题中,那么这就是失败的重点。

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

【讨论】:

  • 感谢您的回答 Jrturton。我又有一个问题像这样 我有 Car 类的子类 (@interface SecondCar:Car)。当我通过这两个类别扩展 Car 类时。该子类是否会访问定义到该类别中的所有方法而不将这些类别文件导入子类(SecondCar.m")。
【解决方案2】:

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

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

谢谢穆克什

【讨论】:

  • 哦,所以@jrturton 的回答应该解释一下
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
  • 2021-05-13
  • 1970-01-01
相关资源
最近更新 更多