I have some objective-C code with a few classes. I'm trying to initialize each of the first two classes within the third class. One works fine, turns the right color in Xcode and allows me to jump to the definition. The other for some reason doesn't. I've poured over it but can't see what distinguishes the two.

MainClass.m:

```
#import "Class1.h"
#import "Class2.h"

@implementation MainClass

Class1 *class1 = [Class1 new];
Class2 *class2 = [Class2 new];

@end

```

Class1.h:

```
#ifndef Class1_h
#define Class1_h

@interface Class1 : NSObject

@end

#endif

```

Class2.h:

```
#ifndef Class2_h
#define Class2_h

@interface Class2 : NSObject

@end

#endif

```

There's no difference in header files of Class1.h and Class2.h. Both are imported into the MainClass.m But for some reason Class2 isn't recognized in MainClass.m, yields "Initializer element is not a compile-time constant" on Build+Run and doesn't allow me to command-click and jump to the definition.

I'm not sure where to look at this point. I've copied and pasted the code from the Class1.m file into Class2.m only changing the `#import Class2.h` header import and `@implementation Class2` lines to make sure its not something in the .m files...problem persists.