【问题标题】:Filtering NSManagedObjects by boolean attribute using NSPredicate使用 NSPredicate 按布尔属性过滤 NSManagedObjects
【发布时间】:2014-04-06 17:51:34
【问题描述】:

我正在尝试通过deleted = NO 过滤一组 NSManagedObjects,此过滤不起作用。 deleted 字段有一个默认值,所以 nil 应该不是问题。

【问题讨论】:

标签: ios core-data boolean nspredicate nsmanagedobject


【解决方案1】:

在NSPredicate 中比较您的BOOL 应该可以:

[NSPredicate predicateWithFormat:@"deleted == %@", [NSNumber numberWithBool: NO]];

【讨论】:

  • 在谓词中使用普通的旧BOOL 很好,只要格式字符串使用%d。
【解决方案2】:

这个问题的答案是更改字段名称。 CoreData 中使用了一些不明显的秘密保留字。我也遇到了其他名为address1 和name 的字段。这个人也有问题readOnly:http://lists.apple.com/archives/cocoa-dev/2007/Nov/msg00412.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    相关资源
    最近更新 更多