在SwiftCoreDataHelper.swift中,可以幫助我解決以下三個錯誤。我使用的是xcode 7,但它似乎是舊版xcode的代碼。提前致謝。xcode 7中的SwiftCoreDataHelper.swift錯誤
1。 。 。
line error: let items: NSArray = managedObjectContext.executeFetchRequest(<#T##request: NSFetchRequest##NSFetchRequest#>) error: Call can throw, but it is not marked with 'try' and the error is not handled
class func fetchEntities(className:NSString, withPredicate predicate:NSPredicate?, managedObjectContext:NSManagedObjectContext)->NSArray{
let fetchRequest:NSFetchRequest = NSFetchRequest()
let entetyDescription:NSEntityDescription = NSEntityDescription.entityForName(className as String, inManagedObjectContext: managedObjectContext)!
fetchRequest.entity = entetyDescription
if predicate != nil {
fetchRequest.predicate = predicate!
}
fetchRequest.returnsObjectsAsFaults = false
let items: NSArray = managedObjectContext.executeFetchRequest(<#T##request: NSFetchRequest##NSFetchRequest#>)
return items
}
2。 。 。
行錯誤:如果managedObjectContext.save(無){
error: Nil is not compatible with expected argument type '()'
class func saveManagedObjectContext(managedObjectContext:NSManagedObjectContext)->Bool{
if managedObjectContext.save(nil) {
return true
}
else {
return false
}
}
3。 。 。
line error: if storeCoordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil, error:&error) != nil {
error: Contextual type '[NSObject : AnyObject]' cannot be used with array literal
if storeCoordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil, error:&error) != nil {
if error != nil {
print(error!.localizedDescription)
abort()
}
}
對不起。新手在這裏。感謝您的更正 –
清楚地說明每個代碼的哪一行會生成編譯器錯誤。 – matt
Both *「調用可以拋出,但它沒有用'try'標記,並且錯誤沒有被處理」*和*「無與預期的參數類型'()'不兼容'*表示你的代碼不適用於Swift 2中的**新錯誤處理**您會發現許多與該主題相關的問答,特別是第一條錯誤消息。例如:[Swift 2(executeFetchRequest):錯誤處理](http://stackoverflow.com/questions/30954722/swift-2-executefetchrequest-error-handling)。我強烈建議您閱讀當前Swift文檔中的錯誤處理。 –