Property'isMarkedAsAnswered'找不到'GameData'类型的对象

问题描述:

我是新来的obj C,来自一个非常好的C++背景。我开始iOS开发,并创建一个自定义对象,我在一个视图中使用。 该自定义对象是Property'isMarkedAsAnswered'找不到'GameData'类型的对象

@interface GameData : NSObject{ 
    @private 
     int Lives; 
     ... 
     bool isAnswered[5]; 
    }; 

    -(int)getLives; 
    -(void)LivesPlusOne; 
    ... 
    -(void)increasePoints:(int)howManyPoints ; 
    -(int)getMult; 
    ... 
    -(void)markAsAnswered:(int)idToRemove; //idToRemove is marked as answered 
    -(bool)isMarkedAsAnswered:(int)idToCheck; 
    @end 

我的问题是,尽管承认的XCode和自动完成的方法,如gameData.getLives;并编译它们只是OK(我使用#import“GameData.h”),它不与参数的方法,如:

-(bool)isMarkedAsAnswered:(int)idToCheck; 

这可能是什么问题? (我已经尝试删除派生的数据(窗口 - >组织者 - >项目 - >派生数据 - >删除),并没有任何改变

额外信息:我在视图中使用gameData对象,我操纵“int生活“ECT,通过存取函数(getter/setter方法)和作品真的很好。当我使用

[gameData.isMarkedAsAnswered:someInt] 

我得到一个编译错误。

它,当我键入连自动完成

[gamedata.i 

由于事先 Giorgos

[gameData.isMarkedAsAnswered:someInt] 

你混合了C++和Objective-C的语法。您使用点访问器来引用声明的属性,而不是方法。使用以下命令:

[gameData isMarkedAsAnswered:someInt]; 

由于执行问题,当一个方法没有参数,你可以使用点访问函数调用它,但是这不是它是专为你应该停止这样做立即。

+0

哦,非常感谢。就是这样。 ;) – 2012-07-27 14:14:38