2012-01-02 107 views
0

我有一条警告消息,当我加载游戏中心排行榜有:语义问题,当我打开的GameCenter排行榜

GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init]; 
if (leaderboardController != nil) { 
    leaderboardController.leaderboardDelegate = self; 
    [self presentModalViewController:leaderboardController animated:YES]; 
} 

警告按摩出现在第三行,和它说:

警告:语义问题:在不兼容的类型分配给 '身份证' 'ViewMenuController *'

我明白m个消息,但我不知道如何解决它。 该代码工作正常,但我想删除警告或找到是否有更好的方式来加载排行榜。

在此先感谢。

解决方案:

我在ViewMenuController.h做了两处修改:

添加此导入:

#import <GameKit/GameKit.h> 

,并修改该行补充说:

@interface ViewMenuController : UIViewController <GKLeaderboardViewControllerDelegate> { 

谢谢大家的帮助!

+0

检查'self'是否需要执行'GKLeaderboardViewControllerDelegate'。 – Eimantas 2012-01-02 22:50:56

回答

1

最好的猜测是当您将leaderboardDelegate设置为self时,它期待id<GKLeaderboardViewControllerDelegate>,但ViewMenuController并未将其自身定义为符合GKLeaderboardViewControllerDelegate协议。

请确保在ViewMenuController的界面中设置此项。

+0

好的,谢谢!我将编辑帖子以报告解决方案。 – 2012-01-03 22:13:03