NSPredicate作为一个宏?

时间:2011-01-20 19:52:27

标签: objective-c macros

我将在模型对象中添加一系列NSPredicates,我想将这些NSPredicates作为宏添加到我的标题中,所以我可以像这样使用它们:

NSArray *filteredResults = FILTER_ARRAY_BY_NAME(rawArray, nameString);

要做到这一点的原因之一是让我的标题中显示不同的宏,并且可以轻松更改/添加或删除谓词宏。

宏语法仍然让我有点遗憾,但是这个NSPredicate将如何转换为宏?

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parentCategoryID == '%@'", categoryID];
return [categories filteredArrayUsingPredicate:predicate];

希望有人可以帮我一点,谢谢你。

1 个答案:

答案 0 :(得分:3)

简单:

#define FILTER_ARRAY_BY_NAME(rawArray, nameString) [rawArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"nameString == '%@'", nameString]]