In my project, I am using the NSObject+Properties.h
category (see aqtoolkit: https://github.com/AlanQuatermain/aqtoolkit/blob/master/Extensions/NSObject%2BProperties.h)
I then have a class that I declare as
#import <Foundation/Foundation.h>
#import "NSObject+Properties.h"
@interface GFDictionaryInitiable : NSObject
...
I then have several subclasses of GFDictionaryInitiable
, such as GFRestaurant
:
#import <Foundation/Foundation.h>
#import "GFDictionaryInitiable.h"
@interface GFRestaurant : GFDictionaryInitiable
...
My problem is that I cannot access methods defined in the NSObject+Properties
category in my subclasses. For example I get the error:
-[GFRestaurant hasPropertyNamed:]: unrecognized selector sent to instance 0x2e57240
How can I have all my subclasses 'inherit' the category's methods that are loaded in the parent class?
Just add:
to your sub classes .h files.
As you get a runtime exception, and not a compiler error, I assume that you forgot to add "NSObject+Properties.m" to your target. Select the file and check the "Target Membership" checkbox in the File inspector.