-1

所以基本上我的接口中有一个协议,我需要将其包含在我的实现中,因为我收到了一个不完整的错误,因此无法继续。

. h 文件

@interface waveLayer1 : CCLayer <GameKitHelperProtocol>
{
    ...
}

.m 文件

@implementation waveLayer1 

GameKitHelper.h 文件

#import "cocos2d.h"
#import <GameKit/GameKit.h>
@protocol GameKitHelperProtocol
-(void) onLocalPlayerAuthenticationChanged;
-(void) onFriendListReceived:   (NSArray*)friends;
-(void) onPlayerInfoReceived:(NSArray*)players;
@end

@interface GameKitHelper : NSObject {
    id<GameKitHelperProtocol> delegate; bool isGameCenterAvailable; NSError* lastError;
}
@property (nonatomic, retain) id<GameKitHelperProtocol> delegate;
@property (nonatomic, readonly) bool isGameCenterAvailable; @property (nonatomic,    readonly) NSError* lastError;

+(GameKitHelper*) sharedGameKitHelper;
// Player authentication, info
-(void) authenticateLocalPlayer;
-(void) getLocalPlayerFriends;
-(void) getPlayerInfo:(NSArray*)players; 
@end  

错误是“协议中的方法未实现”我有更多文件可以显示,但为了节省空间,我决定看看你是否可以用这些代码帮助我解决这个问题

4

3 回答 3

1
@interface waveLayer1 : CCLayer <GameKitHelperProtocol>

这表示“wavelayer1”实现了协议“GameKitHelperProtocol”。

Method in protocol not implemented

表示协议中声明的方法尚未实现。您可能忘记实现“GameKitHelperProtocol”方法之一,这会使您的类不实现该协议,这违反了您所做的声明,从而导致编译器输出错误。

于 2012-07-22T10:45:01.270 回答
0

当您声明一个类采用协议时,您必须为该协议中定义的所有必需方法编写实现。所以在这种情况下,您需要添加在GameKitHelperProtocol.

于 2012-07-22T10:45:28.093 回答
0

在您的 waveLayer1 类中实现这 3 个方法。

-(void) onLocalPlayerAuthenticationChanged;
-(void) onFriendListReceived:(NSArray*)friends;
-(void) onPlayerInfoReceived:(NSArray*)players;
于 2012-07-22T10:45:52.523 回答