作者:無名--小貞貞貞貞貞貞貞貞_微博_ | 来源:互联网 | 2024-12-26 18:42
在Swift编程中,遇到错误提示“一元运算符'!'不能应用于'()'类型的操作数”,通常是因为尝试对没有返回值的方法或函数应用逻辑非运算符。本文将详细解释该错误的原因,并提供解决方案。
错误信息:Unary operator '!' cannot be applied to an operand of type '()'
一元运算符 '!' 不能应用于 '()' 类型的操作数
此错误通常出现在 Swift 2 迁移过程中。
在从旧版本迁移到 Swift 2 时可能会遇到此问题。
func saveContext() {
if let foregroundMO = VPDataManager.sharedInstance.persistentStack.managedObjectContext {
var error: NSError?
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 && !managedObjectContext.save())
这一行代码中。
解决方案