Ios 目标C:如何继承父类中加载的类别方法?
在我的项目中,我使用的是Ios 目标C:如何继承父类中加载的类别方法?,ios,objective-c,inheritance,objective-c-category,Ios,Objective C,Inheritance,Objective C Category,在我的项目中,我使用的是NSObject+Properties.h类别(请参阅aqtoolkit:) 然后我有一个类,我声明为 #import <Foundation/Foundation.h> #import "NSObject+Properties.h" @interface GFDictionaryInitiable : NSObject ... 我的问题是无法访问子类中NSObject+Properties类别中定义的方法。例如,我得到一个错误: -[GFRestaura
NSObject+Properties.h
类别(请参阅aqtoolkit:)
然后我有一个类,我声明为
#import <Foundation/Foundation.h>
#import "NSObject+Properties.h"
@interface GFDictionaryInitiable : NSObject
...
我的问题是无法访问子类中NSObject+Properties
类别中定义的方法。例如,我得到一个错误:
-[GFRestaurant hasPropertyNamed:]: unrecognized selector sent to instance 0x2e57240
如何让我的所有子类“继承”父类中加载的类别的方法?只需添加:
#import "NSObject+Properties.h"
添加到子类.h文件。只需添加:
#import "NSObject+Properties.h"
到您的子类.h文件。由于您得到了运行时异常,而不是编译器错误,我假定您忘记了
将“NSObject+Properties.m”添加到目标。选择该文件并选中
文件检查器中的“目标成员身份”复选框。当您得到一个运行时异常而不是编译器错误时,我假设您忘记了
将“NSObject+Properties.m”添加到目标。选择该文件并选中
“文件检查器”中的“目标成员身份”复选框。是否确实已将“NSObject+Properties.m”添加到目标?它应该可以工作。您确定您的.m文件包含在目标中吗?转到
Build Phases>Compiled Sources
,查看是否存在NSObject+Properties.m
。是否确实已将“NSObject+Properties.m”添加到目标中?它应该可以工作。您确定您的.m文件包含在目标中吗?转到Build Phases>Compiled Sources
,查看是否存在NSObject+Properties.m
。他在编译方面没有问题,因此我认为这不会解决他的问题。是的。也许马丁的答案是正确的——但以防万一,他误传了编译器警告。他在编译时没有遇到问题,所以我认为这不会解决他的问题。是的。也许马丁的答案是正确的,但以防万一,他误传了编译器的警告。