我为我的在线游戏制作了 GKMatch 和 MCSession 包装器。它在 Swift2 上运行良好,但在 Swift3 上我遇到了一个奇怪的问题。
当我使用 GKMatch 运行游戏时,它运行良好,没有问题。当我切换到 Nearby 播放器模式并启动 MCSession 时,我的游戏一直在运行,直到我到达 scheduleTimer。
在 GKMatch 上完美地调用了相同的计时器函数,但现在它没有被触发。
所有调用都与包装器使用相同的委托与软件的其余部分进行交互相同。
我看不出代码有任何明显的问题。
真正奇怪的是程序根本没有崩溃,只是因为计时器功能没有被触发,它停在游戏逻辑没有进一步运行的点上。
ClearTableTimer=Timer.scheduledTimer(timeInterval: 2.0, target: self, selector: #selector(clearTableCardsTimed), userInfo: nil, repeats: false)
@objc func clearTableCardsTimed(timer: Timer) {