views:

201

answers:

1

I declared an enum in my implementation file as shown below, and declared a variable of that type in my interface as PlayerState thePlayerState; and used the variable in my methods. But I am getting errors stating that it is undeclared. How do I correctly declare and use a variable of type PlayerState in my methods?:

In the .m file

@implementation View1Controller

    typedef enum playerStateTypes
        {
            PLAYER_OFF,
            PLAYER_PLAYING,
            PLAYER_PAUSED
        } PlayerState;

in the .h file:

@interface View1Controller : UIViewController {

    PlayerState thePlayerState;

in some method in .m file:

-(void)doSomethin{

thePlayerState = PLAYER_OFF;

}
+8  A: 

Your typedef needs to be in the header file (or some other file that's #imported into your header), because otherwise the compiler won't know what size to make the PlayerState ivar. Other than that, it looks ok to me.

Dave DeLong
+1. Anything you can do in C works in Objective-C.
Carl Norum