Swift 将字符串与CoreData进行比较
我有一个字符串(例如“Test”),还有几个字符串存储在CoreData中。现在我想检查CoreData中是否也存在字符串“Test”。因此,我只想将保存在CoreData中的所有字符串与字符串“Test”进行比较Swift 将字符串与CoreData进行比较,swift,core-data,Swift,Core Data,我有一个字符串(例如“Test”),还有几个字符串存储在CoreData中。现在我想检查CoreData中是否也存在字符串“Test”。因此,我只想将保存在CoreData中的所有字符串与字符串“Test”进行比较 你们中有人知道如何在Swift中实现这一点吗?我不知道任何一种单线解决方案,但您可以: 用谓词获取 查看返回的数组是否为空(它在核心数据中不存在)或不为空(元素存在) 你读过核心数据编程指南中关于获取请求的内容吗?那么你想获取所有匹配“Test”的Sting吗?如果是,请使用N
你们中有人知道如何在Swift中实现这一点吗?我不知道任何一种单线解决方案,但您可以:
- 用谓词获取
- 查看返回的数组是否为空(它在核心数据中不存在)或不为空(元素存在)
你读过核心数据编程指南中关于获取请求的内容吗?那么你想获取所有匹配“Test”的Sting吗?如果是,请使用NSpredicates!因此,例如fetchRequest.predicate=NSpredicate(“属性的名称=Test”)。我想检查是否有与“Test”匹配的字符串。如何在if语句中执行此操作(如果有一个字符串等于“Test I'd to run some code”)?我得到以下错误:
在这行代码var results:[NSManagedObject]=context.executeFetchRequest(request,error:nil)中找不到接受提供参数的'init'重载[NSManagedObject]
。这是我唯一的错误。谢谢你的帮助!应该是格式:“(属性名称='Test')
或(格式:“属性名称=%@”,“Test”)
@Mundi啊,是的,我从来没有真正与硬编码的东西比较过,所以我不知道:)
var request : NSFetchRequest = NSFetchRequest(entityName: "Core_Data_Entity");
request.predicate = NSPredicate(format: "Property_name = %@", @"Test")
var results : [NSManagedObject] = context.executeFetchRequest(request, error: nil) as [Core_Data_Entity]
if (results.count > 0) {
//Element exists
}
else {
//Doesn't exist
}