GameKit和Swift:instance属性不是可选的,但可以为nil?

时间:2018-09-21 06:45:25

标签: ios swift gamekit gkturnbasedmatch

GKTurnBasedParticipant有一个属性:player,具有类GKPlayer。声明写为:

var player: GKPlayer { get }

但是API文档说,

  

如果比赛中的该广告位具有   尚未被实际玩家填补。

所以如果可以是nil,为什么不声明:

var player: GKPlayer?

我在这里不明白什么?吸气剂有问题吗?这实际上很重要,因为在其他玩家尚未加入的自动配对游戏中,玩家应该nil

当我进行条件解包时(迁移到Swift 4.2之后)

if let onlineGKPlayer = participant.player {

这现在是编译器错误:

  

用于条件绑定的初始化程序必须具有可选类型,而不是'GKPlayer'

Screenshot from GKTurnBasedParticipant player

https://developer.apple.com/documentation/gamekit/gkturnbasedparticipant/1521037-player

0 个答案:

没有答案