IOS Swift - deletedObjects NSManagedObject

标签 ios swift

我想删除核心数据表(DatiGame)中的所有行,该表由 4 个字段组成。 foto_bottone0 foto_bottone1 照片大师 文托 并且该表没有其他关系。

但是 DeletedObjects 操作返回以下错误:

'(NSManagedObject) -> $ T4' 与'NSSet' 不相同

import UIKit
import Foundation
import CoreData

class FirstViewController: UIViewController {

  override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view, typically from a nib.

    // 1
    var appDell:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
    var context:NSManagedObjectContext = appDell.managedObjectContext!
    // 2
    var request = NSFetchRequest(entityName: "DatiGame")
    request.returnsObjectsAsFaults = false

    println("pre fetch ")
    // 3

    var results = context.executeFetchRequest(request, error: nil)

    if (results?.count > 0) {

        for result: AnyObject in results! {

  --> ERROR deleteObjects <--     
               context.deletedObjects(result as NSManagedObject)       // ERROR 
                                   '(NSManagedObject) -> $ T4' is not identical to 'NSSet'" 

             context.save(nil)
        }
    }
 }

  override func didReceiveMemoryWarning() {
      super.didReceiveMemoryWarning()
      // Dispose of any resources that can be recreated.
  }

}

拜托,有人可以帮助我吗? 其他问题: 您可以不循环删除表中的所有行吗?谢谢谢谢

最佳答案

你调用了错误的函数。删除托管对象是通过 context.deleteObject(anObject)

deletedObjects 是一个(粗略地说)返回所有对象的属性 已标记为删除。

补充说明:

  • 为了获得更好的性能,所有对象都被删除后保存上下文。
  • 使用 error 参数进行诊断,而不是传递 nil
  • 最好使用可选绑定(bind)来检查 executeFetchRequest() 是否成功 而不是测试 results?.count

例子:

var error: NSError?
let results = context.executeFetchRequest(request, error: &error)
if let objects = results  {
    for object in objects as [NSManagedObject] {
        context.deleteObject(object)
    }
    if !context.save(&error) {
        println("save failed: \(error?.localizedDescription)")
    }
} else {
    println("fetch failed: \(error?.localizedDescription)")
}

关于IOS Swift - deletedObjects NSManagedObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27332867/

相关文章:

swift - 使用泛型下载的方法需要更多上下文

ios - 如何使用 JSON.serializer 在 Swift 中解析 JSON

ios - iOS 中的滚动条可见性

ios - 错误 ITMS-90174 : “Missing Provisioning Profile - Apps must contain a provisioning profile in a file named embedded.mobileprovision.”

ios - 将 AVAudioPCMBuffer 写入压缩的 AVAudioFile

ios - swift 纯布局 : Add x points of padding above and below tallest vertically centered subview

ios - 如何在 Apple Watch OS 2 上使用 iPhone 的核心数据?

ios - 我正在尝试将命令从 SKScene(SpriteKit) 传递到 SCNScene(SceneKit)

ios - Apache cordova/phonegap 如何从 config.xml 启用功能

swift - 标签栏 View Controller [Swift 3.0 - Xcode]