Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 目标C:如何继承父类中加载的类别方法?_Ios_Objective C_Inheritance_Objective C Category - Fatal编程技术网

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
。他在编译方面没有问题,因此我认为这不会解决他的问题。是的。也许马丁的答案是正确的——但以防万一,他误传了编译器警告。他在编译时没有遇到问题,所以我认为这不会解决他的问题。是的。也许马丁的答案是正确的,但以防万一,他误传了编译器的警告。