Question

I have my constants and custom enums in a separate .h file. The file is a subclass of NSObject.

typedef NS_ENUM(NSInteger, MyEnumName) {
    EnumValueOne,
    EnumValueTwo
};

In another class which is also a subclass of NSObject, I have a property for said enum.

@property (assign, nonatomic) MyEnumName hello;

And inside its implementation file, I'm trying to set its value like so,

self.hello = EnumValueTwo;

But I get an error at that line saying,

No setter method 'setHello:' for assignment to property

I tried declaring a setter method manually for that property but it still didn't work.

If I do the same inside a view controller, it works fine. Cannot do that in the NSObject subclass.

Can someone tell me why this is and how to correct it?

Thank you.

Was it helpful?

Solution

in the example project you try to call self in a class method.. this is you r problem not the enum. you can't access self or any instance variable from a class method.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top