带语法的Swift错误

时间:2015-10-14 02:40:36

标签: ios core-data swift2 ios9 xcode7

有人可以帮我解决这些错误吗? Swift已更改,我不知道如何更改这些以使其适用于新版本:

这个给出了以下错误:

  

无法使用类型的参数列表调用createDirectoryAtPath(SwiftCoreDataHelper.Type,withintermediateDirectories:Bool,atrributes:NilLiteralConvertible,error:inout NSError?)

NSFileManager.defaultManager().createDirectoryAtPath(SwiftCoreDataHelper, withIntermediateDirectories: true, attributes: nil, error: &error)

下一对夫妇只是告诉我'错误'是一个额外的争论:

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

let items: NSArray = managedObjectContext.executeFetchRequest(fetchRequest, error: nil)

1 个答案:

答案 0 :(得分:2)

在Swift 2中,您需要使用while块来捕获错误; 将do-catch与CoreData一起使用时,您需要执行以下操作:

addPersistentStoreWithType

同样适用于do { try storeCoordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil) } catch(let error as NSError) { NSLog(error.localizedDescription) //error has occurred. abort() //abort }

executeFetchRequest

do { let items: NSArray = try managedObjectContext.executeFetchRequest(fetchRequest) } catch(let error as NSError) { NSLog(error.localizedDescription) } 一样:

createDirectoryAtPath