【发布时间】:2015-09-28 17:16:12
【问题描述】:
一元运算符'!'不能应用于“()”类型的操作数
在 Swift 2 迁移中遇到此错误。
func saveContext() {
if let foregroundMO = VPDataManager.sharedInstance.persistentStack.managedObjectContext
{
var error:NSError? = nil;
let managedObjectContext: NSManagedObjectContext = foregroundMO
managedObjectContext.mergePolicy = NSOverwriteMergePolicy
if (managedObjectContext.hasChanges) && !(managedObjectContext.save())
{
VPAnalytics.leaveBreadcrumb("AppDelegate saveContext critical error: \(error), \(error?.userInfo)")
logError("Unresolved issue: \(error), \(error?.userInfo)")
abort()
}
}
}
错误发生在if (managedObjectContext.hasChanges...
【问题讨论】:
-
.save()是否返回bool? -
请注意,额外的括号会使错误消息复杂化。
标签: swift unary-operator