Swift 将字符串与CoreData进行比较

Swift 将字符串与CoreData进行比较,swift,core-data,Swift,Core Data,我有一个字符串(例如“Test”),还有几个字符串存储在CoreData中。现在我想检查CoreData中是否也存在字符串“Test”。因此,我只想将保存在CoreData中的所有字符串与字符串“Test”进行比较 你们中有人知道如何在Swift中实现这一点吗?我不知道任何一种单线解决方案,但您可以: 用谓词获取 查看返回的数组是否为空(它在核心数据中不存在)或不为空(元素存在) 你读过核心数据编程指南中关于获取请求的内容吗?那么你想获取所有匹配“Test”的Sting吗?如果是,请使用N

我有一个字符串(例如“Test”),还有几个字符串存储在CoreData中。现在我想检查CoreData中是否也存在字符串“Test”。因此,我只想将保存在CoreData中的所有字符串与字符串“Test”进行比较


你们中有人知道如何在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
 }