Xcode 财产';ISMARKEDASANSERED';在类型为';GameData'; 我是Objc的新手,来自一个非常好的C++背景。我启动了iosdev,并创建了一个在视图中使用的自定义对象。 此自定义对象是 @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 财产';ISMARKEDASANSERED';在类型为';GameData'; 我是Objc的新手,来自一个非常好的C++背景。我启动了iosdev,并创建了一个在视图中使用的自定义对象。 此自定义对象是 @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,methods,parameters,autocomplete,Xcode,Methods,Parameters,Autocomplete,我的问题是,尽管XCode识别并自动完成gameData.getLifes等方法;并编译它们(我使用#import“GameData.h”),它不适用于带有参数的方法,例如: -(bool)isMarkedAsAnswered:(int)idToCheck; 哪一个可能是问题?(我已经尝试删除派生数据(窗口->组织者->项目->派生数据->删除),但没有任何更改 额外信息:我在视图中使用gameData对象,通过访问器和变异器(getter/setter)操纵“int-lifes”ec

我的问题是,尽管XCode识别并自动完成gameData.getLifes等方法;并编译它们(我使用#import“GameData.h”),它不适用于带有参数的方法,例如:

    -(bool)isMarkedAsAnswered:(int)idToCheck;
哪一个可能是问题?(我已经尝试删除派生数据(窗口->组织者->项目->派生数据->删除),但没有任何更改

额外信息:我在视图中使用gameData对象,通过访问器和变异器(getter/setter)操纵“int-lifes”ect,效果非常好

    [gameData.isMarkedAsAnswered:someInt] 
我得到一个构建错误

当我打字时,它甚至不会自动完成

    [gamedata.i
提前感谢,, 乔治

你正在混合C++和Objto-C语法。你使用点访问器来引用声明的属性,而不是方法。使用以下内容:

[gameData isMarkedAsAnswered:someInt];

由于实现问题,当一个方法没有参数时,您可以使用点访问器调用它,但是这不是它的设计目的,您应该立即停止这样做。

哦,非常感谢。就是这样。;)
[gameData isMarkedAsAnswered:someInt];