Typedef enum setting and accessing

enums, iphone, objective-c, typedef

Solution

'Weather' is a type not a variable.

So, you want something like this:

Weather theWeather = [mainView weather];
if (theWeather == CLEAR)
{
<do something>
}

Where MainView has ivar:

 Weather weather;

Problem

I have this before the interface declaration in my `MainView.h` header. ``` typedef enum { UNKNOWN, CLEAR, NIGHT_CLEAR, CLOUDY, NIGHT_CLOUDY } Weather; ``` Then I declared it like this: ``` Weather weather; ``` Then made an accessor: ``` @property Weather weather; ``` And synthesized it. My question is, how can I use this in a different class without it crashing? I've imported the header for MainView. I tried to use it like this: ``` MainView* myView = (MainView*)self.view; [myView setWeather: CLEAR]; ``` It doesn't throw me any errors in Xcode, but it crashes when the code is run, saying: ``` -[UIView setWeather:]: unrecognized selector sent to instance *blah* ``` Am I doing something wrong here?

Original source

Related problems