所以我一直在为 Swift 3.0 更新我的代码,当应用程序打开时,我与 iCloud 同步并执行一个获取请求。
但是,我收到以下可选错误
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.syncWithCompletion { (completed) -> Void in
}
它在 appDelegate 中执行以下函数
func syncWithCompletion(_ completion:@escaping (_ completed:Bool) -> Void) {
if !ensemble.isLeeched {
ensemble.leechPersistentStore { error in
if error != nil {
print("cannot leech \(error!.localizedDescription)")
completion(false)
}
else {
print("leached!!")
completion(true)
}
}
}
else {
ensemble.merge{ error in
if error != nil {
print("cannot merge \(error!.localizedDescription)")
completion(false)
}
else {
print("merged!!")
completion(true)
//NSNotificationCenter.defaultCenter().postNotificationName("Updated-DB", object: nil)
}
}
}
}
我不确定可选错误是什么,Xcode 在迁移时更新了函数头。
更新:
所以显然以下有一个零值
但我不确定自 Swift 3 迁移以来是什么原因造成的