Swift: 在核心数据模型中搜索字符串
Swift: Search for string in core data model
我在 Swift 中遇到了以下问题。
我编写了以下函数来检索我模型中的所有人 name
"David"。
private func myFetchRequest()
{
let moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
let myRequest = NSFetchRequest(entityName: "RegisterOfPersons")
myRequest.predicate = NSPredicate(format: "name = %@", "David")
do{
let results = try moc.executeFetchRequest(myRequest)
for result in results
{
print(result)
}
} catch let error{
print(error)
}
}
即使我的模型包含两个名称为 attribute
的条目 = "David",行
myRequest.predicate = NSPredicate(format: "name = %@", "David")
找不到这些条目,因为 "name" 是我模型中的可选属性。
我是否必须搜索 Optional("David"),意思是 myRequest.predicate = NSPredicate(format: "name = %@", Optional("David"))
?
如何在我的模型中搜索名称为 "David" 的所有条目?我做错了什么?
感谢您的帮助!
您正在使用 string
进行预测,因此请像这样用单引号将您的比较名称括起来
myRequest.predicate = NSPredicate(format: "name = '%@'", "David")
也试试 Contains
myRequest.predicate = NSPredicate(format: "name CONTAINS[cd] %@", "David")
我在 Swift 中遇到了以下问题。
我编写了以下函数来检索我模型中的所有人 name
"David"。
private func myFetchRequest()
{
let moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
let myRequest = NSFetchRequest(entityName: "RegisterOfPersons")
myRequest.predicate = NSPredicate(format: "name = %@", "David")
do{
let results = try moc.executeFetchRequest(myRequest)
for result in results
{
print(result)
}
} catch let error{
print(error)
}
}
即使我的模型包含两个名称为 attribute
的条目 = "David",行
myRequest.predicate = NSPredicate(format: "name = %@", "David")
找不到这些条目,因为 "name" 是我模型中的可选属性。
我是否必须搜索 Optional("David"),意思是 myRequest.predicate = NSPredicate(format: "name = %@", Optional("David"))
?
如何在我的模型中搜索名称为 "David" 的所有条目?我做错了什么?
感谢您的帮助!
您正在使用 string
进行预测,因此请像这样用单引号将您的比较名称括起来
myRequest.predicate = NSPredicate(format: "name = '%@'", "David")
也试试 Contains
myRequest.predicate = NSPredicate(format: "name CONTAINS[cd] %@", "David")