如何更改swift 2.2中的storeCoordinator.addPersistentStoreWithType(XCode 7.3)

时间:2016-11-06 08:09:36

标签: swift xcode xcode7.3

我有一个项目并在我的项目中使用此代码:

if storeCoordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil, error:&error ) != nil{
    if error != nil{
        print(error!.localizedDescription)
        abort()
    }
}

但在swift 2.2中,此代码有错误... xcode显示此错误:

  

通话中的额外参数'错误'

,另一个代码是:

class func saveManagedObjectContext(managedObjectContext:NSManagedObjectContext)->Bool{

            if managedObjectContext.save(nil){
                return true
            }else{
                return false
            }
        }

在这些行中有一些错误:

  

调用可以抛出,但没有标记为'try',错误不是   处理。

  

传递给不带参数的调用的参数。

1 个答案:

答案 0 :(得分:0)

您需要在do / try / catch处理程序中将addPersistentSore...的调用括起来:

do {
   myNewStore = try storeCoordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil)
   // other code on success ....
}
catch let error as NSError {
   Swift.print(error!.localizedDescription)
   abort()
}

您可以阅读Swifts throw / catch错误处理,例如:https://www.hackingwithswift.com/new-syntax-swift-2-error-handling-try-catch

另请参阅Apples文档https://developer.apple.com/reference/coredata/nspersistentstorecoordinator/1468860-addpersistentstore(注意它是Swift 3.0.1)