2012-08-14 5 views
10

私はそうのようなオブジェクトを初期化しています:iOSのエラー:「プロジェクト」のために目に見える@interfaceは、セレクタ「アロケーション」を宣言していない

プロジェクト:

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

ここでは、プロジェクトのクラスのコードです。 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'を取得しています。どうすれば解決できますか?

答えて

31

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

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

+9

何私は馬鹿...:P –

+1

が少なくとも一度皆はどうなる...少なくとも...私のために、私はそれがない願っています:D –

+0

ハハハ...私は良い感じ私は唯一の人ではありません:D – CSawy

4

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

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

GoddamnClass *anInstanceOfGoddamnClass = [GoddamnClass new]; // works like a magic 
関連する問題