Reputation: 29524
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?
Upvotes: 3
Views: 4116
Reputation: 5175
You have to remove the *
in Weather* weather
. weather
has to be an integer, not a pointer.
Upvotes: 1
Reputation: 4985
'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;
Upvotes: 6