Ошибка iOS: нет видимого @interface для 'Project' объявляет селектор 'alloc'

Я инициализирую такой объект:

Project *Project = [[Project alloc] init];

Здесь код для класса проекта:

Project.h

#import <Foundation/Foundation.h>

@interface Project : NSObject
{

}

    @property (nonatomic,assign) int projectID; 
    @property (nonatomic,strong) NSString *name; 

@end

Project.m

#import "Project.h"

@implementation Project

    @synthesize projectID, name;

@end

Я получаю сообщение об ошибке No visible @interface for 'Project' declares the selector 'alloc' , когда я пытаюсь инициализировать объект. Как я могу это решить?

Ответ 1

Кажется, вы пытаетесь вызвать переменную с тем же именем, что и класс: Project *Project. Неудивительно, что компилятор запутался!

Переключите имя переменной в нижний регистр, Project *Project.

Ответ 2

Никогда не используйте имя класса в качестве имени ссылки экземпляра.

GoddamnClass *GoddamnClass = [GoddamnClass new]; // will have problems

GoddamnClass *anInstanceOfGoddamnClass = [GoddamnClass new]; // works like a magic