在我的项目中,我使用的是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
如何让我的所有子类'继承'在父类中加载的类别的方法?
答案 0 :(得分:4)
当你得到运行时异常而不是编译器错误时,我认为你忘记了 向目标添加“NSObject + Properties.m”。选择文件并检查 “文件检查器”中的“目标成员资格”复选框。
答案 1 :(得分:0)
只需添加:
#import "NSObject+Properties.h"
到您的子类.h文件。