我有一个GameController班。
我有一个委托方法来更新球员的分数。
每命名约定
通过标识发送消息的对象的类来开始名称:
我试着给这个方法命名:
-(void) GameController: (GameController *) game didUpdatePlayerScore:(NSInteger)score;
但是Xcode告诉我,它希望为(GameController *)提供一个类型。
协议是在GameController.h文件中定义的,AutoComplete在输入时提供GameController作为建议,所以我不知道如何进行,而不是遵循约定。
发布于 2015-04-28 08:55:50
你写了这个:
#import "WhateverNeeded"
@protocol CustomDelegate <NSObject>
-(void)gameController:(GameController *)game didUpdatePlayerScore:(NSInteger)score;
@end
@interface GameController : NSObject
@end问题是你还不知道GameController。这是一门未知的课程。
这就是为什么您必须将@class GameController;放在@protocol声明之前。它是前瞻性声明(您可以查找它,因为它用于各种事情),换句话说,它说:“别担心,GameController存在,它是在什么地方宣布之后”。
奖励:以小写开始您的方法(gameController:ZzZ对GameController:ZzZ)。
https://stackoverflow.com/questions/29898484
复制相似问题