objective-c - NSPredicate 不适用于字典数组

标签 objective-c cocoa-touch nsarray nsdictionary nspredicate

我有一个格式如下的 NSPredication:@"Status CONTAINS[cd] shipped"

我有一个字典数组,下面是一个例子:

{
        {
        Category = "Category 4";
        Comp = "Category 4";
        Depth = 02;
        Grade = New;
        Length = 02;
        Location = "Thousand Oaks, CA";
        Name = "3ply Mat";
        Owner = "Owner 3";
        PUP = 2;
        Status = Shipped;
        "Unit Number" = 20110507113852351;
        Width = 02;
    },
        {
        Category = "Category 4";
        Comp = "Category 4";
        Depth = 02;
        Grade = New;
        Length = 02;
        Location = "Thousand Oaks, CA";
        Name = "3ply Mat";
        Owner = "Owner 3";
        PUP = 2;
        Status = Shipped;
        "Unit Number" = 20110516094641587;
        Width = 02;
    }
)

但它返回一个空数组。我究竟做错了什么?谢谢

最佳答案

你想要:

[NSPredicate predicateWithFormat:@"Status =[cd] 'shipped'"];

或者:

[NSPredicate predicateWithFormat:@"Status =[cd] %@", @"shipped"];

你的问题是你的谓词格式已经shipped,而它应该已经'shipped'。缺少单引号意味着它试图将 [dictionary valueForKey:@"Status"][dictionary valueForKey:@"shipped"] 进行比较,而不是与字符串进行比较文字 @"shipped".

关于objective-c - NSPredicate 不适用于字典数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6185008/

相关文章:

ios - 自定义 UISlider 外观

ios - 将 NSArray 组件转换为整数或小数

ios - 如何确定多个(n)日期时间范围何时相互重叠

objective-c - 将浮点值转换为 NSString

ios - 更改 UITableView 部分标题的默认滚动行为

iOS 9 不使用 URL SCHEME 打开 Instagram 应用程序

ios - 没有要搜索的对象但有条件的二进制搜索 NSArray

iphone - 创建 NSArray - EXC_BAD_ACCESS?

ios - 无法管理 NSMutableArray 中的单个元素

iphone - 如何通过NSString获取类对象