2

在我的项目中,我使用的是NSObject+Properties.h类别(参见 aqtoolkit:https ://github.com/AlanQuatermain/aqtoolkit/blob/master/Extensions/NSObject%2BProperties.h )

然后我有一个我声明为的类

#import <Foundation/Foundation.h>
#import "NSObject+Properties.h"

@interface GFDictionaryInitiable : NSObject
...

然后我有几个子类GFDictionaryInitiable,例如GFRestaurant

#import <Foundation/Foundation.h>

#import "GFDictionaryInitiable.h"

@interface GFRestaurant : GFDictionaryInitiable
...

我的问题是我无法访问NSObject+Properties在我的子类的类别中定义的方法。例如我得到错误:

-[GFRestaurant hasPropertyNamed:]: unrecognized selector sent to instance 0x2e57240

如何让我的所有子类“继承”父类中加载的类别方法?

4

2 回答 2

4

当您收到运行时异常而不是编译器错误时,我假设您忘记将“NSObject+Properties.m”添加到您的目标。选择文件并检查文件检查器中的“目标成员身份”复选框。

于 2013-10-17T16:44:29.057 回答
0

只需添加:

#import "NSObject+Properties.h"

到您的子类 .h 文件。

于 2013-10-17T16:41:12.727 回答