@property失败了,怎么了?

时间:2011-05-03 19:11:35

标签: iphone objective-c

所以,我有一个名为Stone的课程。 在 Stone.h 中,我有以下几行:

@interface stone : CCNode <CCTargetedTouchDelegate> {
GameLayer *theGame;
}
@property(readwrite,nonatomic, retain) GameLayer *theGame;
@property(readwrite,nonatomic,retain) CCSprite *mySprite;

和我的 Stone.m

@implementation Stone

@synthesize theGame,mySprite;

这是所有相关的代码。但是编译器说 - 在接口中找不到属性theGame和mySprite。 更糟糕的是,这是一本书的例子,我做错了什么?我检查了代码与书中的完全相同。

为什么没有在.h文件中看到属性声明? #import语句就在那里。 我认为它是指针问题,但它也没有看到纯粹的int属性 - @property(readwrite, assign) int stoneType;例如返回相同的错误。

3 个答案:

答案 0 :(得分:9)

@interface中的小写'stone',@ implementation中的大写'Stone'。

答案 1 :(得分:4)

在这里改变'石头':

@interface stone : CCNode <CCTargetedTouchDelegate> {
GameLayer *theGame;
}
@property(readwrite,nonatomic, retain) GameLayer *theGame;
@property(readwrite,nonatomic,retain) CCSprite *mySprite;

To Stone:

@interface Stone : CCNode <CCTargetedTouchDelegate> {
    GameLayer *theGame;
    }
    @property(readwrite,nonatomic, retain) GameLayer *theGame;
    @property(readwrite,nonatomic,retain) CCSprite *mySprite;

答案 2 :(得分:0)

首先你应该在Interface之后写一下Stone(大写)。

其次,界面中没有变量“mySprite”。