gpt4 book ai didi

ios - 在添加新属性之前检查核心数据属性是否包含值

转载 作者:行者123 更新时间:2023-11-30 14:02:11 25 4
gpt4 key购买 nike

我想检查我要创建的类别名称是否已存在于核心数据存储中。

如果它存在,那么我应该显示一个警报 View 而不是创建它。如果它不存在,那么我可以继续创建新类别。

 func createCategory() {
let entity = NSEntityDescription.entityForName("Category", inManagedObjectContext: context!)
let categoryEntity = Category(entity: entity!, insertIntoManagedObjectContext: context)
let index = pickerView.selectedRowInComponent(0)
let color = categoryColor[index]
let fetchRequest = NSFetchRequest(entityName: "Category")
fetchRequest.fetchLimit = 1
let predicate = NSPredicate(format: "name = %@", name.text)
let fetchResults = context!.executeFetchRequest(fetchRequest, error: &error) as? [Category]

if let results = fetchResults {
var requiredCategory : Category
if (results.count > 0) {
requiredCategory = results[0] as Category
} else {
requiredCategory = Category(entity: categoryEntity, insertIntoManagedObjectContext: context!)
requiredCategory.name = name.text
// set the other properties for the Category as necessary
}
category?.name = requiredCategory
category!.descript = descriptionField.text
category!.color = color
println(category!.name)
context?.save(nil)
name.text = ""
descriptionField.text = ""
}
}

最佳答案

您应该在创建categoryEntity之前创建fetchRequest并执行它。然后,检查results.count。如果计数为 > 0,则您已经有一个,并且应该显示警报。如果不是,那么您可以创建 categoryEntity、配置它并保存它。

请注意,您可能需要在谓词中使用 =[cd] 以避免多个类别名称相同但大小写不同。

关于ios - 在添加新属性之前检查核心数据属性是否包含值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32863085/

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