【发布时间】:2011-01-20 19:52:26
【问题描述】:
我将向我的模型对象添加一系列NSPredicates,我想将这些NSPredicates 作为宏添加到我的标题中,所以我可以像这样使用它们:
NSArray *filteredResults = FILTER_ARRAY_BY_NAME(rawArray, nameString);
想要这样做的原因之一是在我的标题中显示不同的宏,并且可以轻松更改/添加或删除谓词宏。
宏语法仍然有点难以理解,但是这个 NSPredicate 将如何转换为宏?
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parentCategoryID == '%@'", categoryID];
return [categories filteredArrayUsingPredicate:predicate];
希望有人能帮帮我,在此先感谢。
【问题讨论】:
-
必须是宏吗?为什么不只是一个普通函数,或者一个类方法,甚至一个分类方法。
-
不,它不必是宏。我有 5-10 个谓词我必须首先实现,随着模型的发展,它们将被更改并添加更多,我将从模型类中的多个位置调用它们。宏将是将它们保留在标题中的好方法,使它们保持相似并快速添加/编辑新的。如果我对谓词的需求变得更大,我可能会在我的模型上添加一个类别或实现一组类方法以将它们全部分组 - 我你有一个很好的方法来实现这样的东西我总是对新的/更好的感兴趣方式:)
标签: objective-c macros