ios - Core Data 删除同名对象

标签 ios swift object core-data

//taken from Core Data    
var items:NSMutableArray = ["Item 1","Item 2","Item 1","Item 3"]

    func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
         if(editingStyle == .Delete){
            let itemName = items.objectAtIndex(indexPath.row) as String
            //delete all rows in core data with this item name
         }
    }

如何删除 Core Data 中字段名为“itemName”的所有行?

最佳答案

创建一个 NSFetchRequest 并使用您的项目名称设置一个 NSPredicate。执行此获取请求会为您提供一个包含所有具有该谓词的 NSManagedObjects 的数组。

然后遍历该数组并调用 NSManagedObjectContext 的方法 deleteObject(object)

let fetchRequest = NSFetchRequest(entityName: "yourEntityName")
fetchRequest.includesSubentities = false
fetchRequest.returnsObjectsAsFaults = false

fetchRequest.predicate = NSPredicate(format:"name == '\(itemName)'")

var error: NSError?

// moc is your NSManagedObjectContext here
items = moc.executeFetchRequest(fetchRequest, error: &error)!

for item in items {
    moc.deleteObject(item)
}

关于ios - Core Data 删除同名对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26802408/

相关文章:

android - Flutter 检查文件存在于 ApplicationDocumentsDirectory

点击第二个文本字段时 iOS UI 测试错误

swift - 在 UIViewcontroller 中有一个自定义的 UIView

ios - Crashlytics 不发送崩溃报告 [iOS]

javascript - 如何在 Javascript 中将对象数组转换为关联数组对象

ios - 来自其他类中的类的对象以访问 UIView iOS Objective-c

ios - iPhone 应用程序 - 使用预先填充的数据库还是依赖网络服务?

ios 验证 : Invalid image path - missing icon file

ios - 更改 UITableView 的 textLabel 和 detailTextLabel 的默认颜色

c# - System.Object 类中的 Finalize 方法