NSArray为空,带有filteredArrayUsingPredicate ios

时间:2011-11-28 14:30:23

标签: iphone objective-c ios cocoa

我对“谓词”有一点问题

我有NSArray(datesArray),它由以下组成:

(
"2011-11-30",
"2011-11-28",
"2011-11-25"
)

和另一个NSArray(leadsArray)组成:

(
{
    "date_deadline" = "2011-11-30";
    name = "test1";
};
{
    "date_deadline" = "2011-11-28";
    name = "test2";
};
{
    "date_deadline" = "2011-11-25";
    name = "test3";
};
{
    "date_deadline" = "2011-11-28";
    name = "test4";
};
)

然后我这样做:

NSString *date = [datesArray objectAtIndex:section];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"date beginswith %@", date];
NSArray *leads = [leadsArray filteredArrayUsingPredicate:predicate];

return [leads count];

但我的NSAraay(线索)是空的。

我这样做是为了知道“numberOfRowsInSection”。

你能帮我吗?

1 个答案:

答案 0 :(得分:2)

由于词典中日期的关键是“date_deadline”,因此至少应该阅读

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"date_deadline beginswith %@", date];

在任何情况下,请考虑您是否需要beginswith或者可以测试相等,如果您需要存储日期字符串或可以使用NSDate个对象。