gpt4 book ai didi

ios - 核心数据 - 基于参数插入

转载 作者:行者123 更新时间:2023-11-28 13:19:33 27 4
gpt4 key购买 nike

我有一个名为 Person 的表。如何创建一个基于名称的数据条目,而不是重复名称。

例子:

I have a person named Josh. Can not have another person named Josh.

类似PK的功能。

最佳答案

不幸的是,CoreData 没有内置的方法来防止重复。

首先,使用谓词执行获取请求以查看该值是否存在。如果不存在,则插入新实体。

示例)

    let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let managedContext = appDelegate.managedObjectContext!
let personName = "Josh"

let fetchRequest = NSFetchRequest(entityName: "Person")
let predicate = NSPredicate(format: "name = %@", personName)
fetchRequest.predicate = predicate

var error: NSError?
let fetchedResults = managedContext.executeFetchRequest(fetchRequest, error: &error) as [NSManagedObject]?

if let results = fetchedResults {
// if no results found, then insert
if results.count == 0 {
let entity = NSEntityDescription.entityForName("Person", inManagedObjectContext: managedContext)
let person = Person(entity: entity!, insertIntoManagedObjectContext:managedContext)
person.setValue(personName, forKey: "name")

var error: NSError?
if !managedContext.save(&error) {
println("Could not save \(error), \(error?.userInfo)")
}
}

} else {
println("Could not fetch \(error), \(error!.userInfo)")
}

关于ios - 核心数据 - 基于参数插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27021035/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com