在 Core Data 中,如何在 swift 4 中执行“如果存在更新其他插入”?

Gor*_*per 3 core-data ios swift

我是核心数据的新手。我只想检查核心数据中是否存在记录,然后更新其他插入。我可以插入、获取删除数据但无法更新。这是我的一段代码

var context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
var user = [Users]()
func insertData() {

    let newUser = NSEntityDescription.insertNewObject(forEntityName: "Users", into: context)//entity(forEntityName: "Users", in: context)
    newUser.setValue("chatt", forKey: "name")
    newUser.setValue("100", forKey: "balance")
    newUser.setValue("123", forKey: "user_id")
    do {

        try context.save()

    } catch {

        print("Failed saving")
    } 
}
Run Code Online (Sandbox Code Playgroud)

请帮我更新代码片段

小智 5

尝试这个 :

var fetchRequest = NSFetchRequest(entityName: "Users")
fetchRequest.predicate = NSPredicate(format: "userName = %@", userName)

if let fetchResults = appDel.managedObjectContext!.executeFetchRequest(fetchRequest, error: nil) as? [NSManagedObject] {
    if fetchResults.count != 0 {
        // update
        var managedObject = fetchResults[0]
        managedObject.setValue(accessToken, forKey: "accessToken")

        context.save(nil)
    } else {
        //insert as new data
    }
}
Run Code Online (Sandbox Code Playgroud)

干杯:)