我在使用以下网址加载游戏中心排行榜时收到警告消息:
GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
if (leaderboardController != nil) {
leaderboardController.leaderboardDelegate = self;
[self presentModalViewController:leaderboardController animated:YES];
}
警告按摩出现在第三行,它说:
警告:语义问题:分配给 'id'来自不兼容的类型 'ViewMenuController *'
我理解这条消息,但我不知道如何解决它。 代码工作正常,但我想删除警告或查找是否有更好的方法来加载排行榜。
提前致谢。
解决方案:
我在ViewMenuController.h中做了两处修改:
添加此导入:
#import <GameKit/GameKit.h>
并修改此行添加:
@interface ViewMenuController : UIViewController <GKLeaderboardViewControllerDelegate> {
感谢大家的帮助!
答案 0 :(得分:1)
最好的猜测是,当您将leaderboardDelegate
设置为自我时,它会期待id<GKLeaderboardViewControllerDelegate>
,但您的ViewMenuController
并未将自己定义为符合GKLeaderboardViewControllerDelegate
协议
确保在ViewMenuController
。