0

我现在在游戏中心工作。在 Apple 的 Game Center 编程指南(清单 4-11)中,有示例代码可以检索排行榜的最高分数:

GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
if (leaderboardRequest != nil)
{
    ...
    [leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
    ...
}

是否有必要检查返回的对象是否为零?永远init失败并返回零?

4

1 回答 1

1

文档对此没有任何说明,如果我们查看 GKLeaderboard (GKLeaderboard.h) 的头文件,它也没有说明任何内容。init 函数的声明如下所示:

- (instancetype)init;

这意味着 init 函数将返回 GKLeaderboard 的实例或 nil(或 GKLeaderboard 的任何子类)。

所以答案是肯定的,你总是要检查返回值是否为零。

于 2015-01-19T16:34:22.093 回答