我现在在Game Center工作。在Apple的游戏中心编程指南(Listing 4-11)中,有一些示例代码可以检索排行榜的最高分:
GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
if (leaderboardRequest != nil)
{
...
[leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
...
}
是否有必要检查返回的对象是否为零? init
会失败并返回零吗?
答案 0 :(得分:1)
文档没有说明这一点,如果我们查看GKLeaderboard(GKLeaderboard.h)的头文件,它也没有说明这一点。 init函数的声明如下所示:
- (instancetype)init;
这意味着init函数将返回GKLeaderboard的实例或nil(或任何子类到GKLeaderboard)。
所以答案是肯定的,你总是要检查返回的值是否为零。