12

私は次のようにオブジェクトを初期化しています:

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' します。どうすればこれを解決できますか?

4

2 に答える 2

34

クラスとまったく同じ名前の変数を呼び出そうとしているようです:Project *Project。コンパイラが混乱しているのも不思議ではありません。

変数名を小文字に切り替えますProject *project

于 2012-08-14T09:21:28.580 に答える
7

クラス名をインスタンス参照名として使用しないでください。

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

GoddamnClass *anInstanceOfGoddamnClass = [GoddamnClass new]; // works like a magic
于 2012-08-14T09:27:36.033 に答える