【问题标题】:Searching for identical NSManagedObject in CoreData在 CoreData 中搜索相同的 NSManagedObject
【发布时间】:2011-12-31 00:12:52
【问题描述】:

我是 coredata 的新手,我想知道如何判断一个对象是否相同并且已经存在,例如我保存一个带有标题和内容的新闻模型(NSManagedObject)并保存它,稍后我实例化了另一个新闻具有相同标题和内容的模型有没有办法告诉这个对象已经存在?提前致谢!

【问题讨论】:

    标签: objective-c ios core-data


    【解决方案1】:

    要找到具有相同标题和内容的另一个 News 模型,您需要先对内容和标题进行比较,然后再实例化另一个 News 模型。

    您的 NSPredicate 可能如下所示:

    NSString *newContent = @"SomeNewContentValue";
    NSString *newTitle = @"SomeNewTitleValue";
    
    NSPredicate *newsFilter = [NSPredicate predicateWithFormat:@"title==[cd]%@ AND content==[cd]%@", newTitle, newContent];
    

    注意 [cd] 字符串选项,它使您的比较对大小写和变音符号不敏感。当然,这假设您需要它不区分大小写。否则,请忽略任一位置的 [cd]

    【讨论】:

    • 区分大小写肯定取决于 OP 的实现/平等理念。
    • 还要考虑content = "abcdef"可能和content = "ABCDEF"不是同一个实体,这就是我所说的区分大小写的意思
    • 谢谢@Paul.s。答案已修改。
    猜你喜欢
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多