I have an NSPredication with format like this:@"Status CONTAINS[cd] shipped"
I have an array of dictionary, here's an example:
{
{
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;
}
)
But it's returning an empty array. What am I doing wrong? Thanks
You want:
Or:
Your problem was that your predicate format had
shipped
, when it should've had'shipped'
. The lack of singles quotes meant it was trying to compare[dictionary valueForKey:@"Status"]
to[dictionary valueForKey:@"shipped"]
, instead of to the string literal@"shipped"
.You can use the keywords
MATCHES
,CONTAINS
etc., against strings. As Status is not a string, I guess, you need to check it like this,