The problem is (as you’ve stated) file type for ViewController.m is Obj-C and Hello.h is a Obj-C++ file. The solution is to add
to your ViewController.m file and change the file type of ViewController.m to Obj-C++ (from the right panel)
That basically means that you need to import the .h file containing the declaration of States.
However, there is a lot of other stuff wrong with your code.
- You’re -init’ing an object without +alloc’ing it. That won’t work
- You’re declaring an object as a non-pointer type, that won’t work either
- You’re not calling [super init] in -init.