Tôi vừa mới tải xuống bản beta Xcode 7.0 mới và đã di chuyển từ Swift 1.2 sang Swift 2. Quá trình di chuyển dường như không thay đổi toàn bộ mã, thực tế là phương thức saveContext() tốt cho đến khi ném 2 lỗi cho các dòng:Swift 2 migration saveContext() trong appDelegate
if moc.hasChanges && !moc.save() {
hành Binary '& &' không thể được áp dụng cho hai toán hạng Bool
và
Gọi có thể ném, nhưng nó không được đánh dấu với 'thử' và lỗi không được xử lý
Phương pháp này trông như thế này:
// MARK: - Core Data Saving support
func saveContext() {
if let moc = self.managedObjectContext {
var error: NSError? = nil
if moc.hasChanges && !moc.save() {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog("Unresolved error \(error), \(error!.userInfo)")
abort()
}
}
}
Bất kỳ ý tưởng về làm thế nào để có được nó đang làm việc?
Cảm ơn bạn đó là câu trả lời đúng, Ngoài ra, Bạn cần phải thêm một '' sau khi managedObjectContext do đó, dòng trông giống như:! 'Nếu managedObjectContext .hasChanges {' và 'thử managedObjectContext lệnh .save()' – kalafun
@ kalafun Không, trong Xcode 7 managedObjectContext không phải là tùy chọn. Sẽ đăng cập nhật trên câu trả lời của tôi – Ian
Điều đó là lạ Tôi đang sử dụng xcode 7 beta và nó đã ném một lỗi vì dấu chấm than bị thiếu. Đang chờ cập nhật của bạn .. – kalafun