所以这是我的代码
func retrieveAndAssignHighScoreFromCloudKit() {
let high = highScore
database.fetchRecordWithID(getRecordID(high), completionHandler: { [weak self]
(record: CKRecord?, error: NSError?) in
if error != nil {
print(self!.highScore)
// blah blah blah...
}
所以在这个函数的第一行中,我可以调用 highScore 并将其分配给其他东西,但是在闭包中 Xcode 迫使我使用“self!”。并且这样做会以某种方式打开一个可选项,即使我之前调用它告诉我它不是零。我真的很困惑,有很多关于将可选选项解包为 nil 的基本问题,但我发现没有一个似乎与此有关。
非常感谢!
编辑:尝试将“弱”切换为“无主”,尽管没有断点,但我在同一行崩溃并得到“线程 3:EXC_BREAKPOINT”。此消息在另一个屏幕上以绿色显示,并且不突出显示该行