NSPredicate与NSCompoundPredicate?

Ami*_*ark 4 iphone xcode nspredicate ios

使用具有类似"Condition1 AND condition2"的值的单个NSPredicate与使用具有两个子预测的NSCompoundPredicate相比有哪些优缺点?

即使我动态构造它,第一个选项似乎更紧凑的代码.

dea*_*rne 12

你几乎已经回答了自己的问题 - 这更像是一个代码问题的清洁而不是性能问题!

NSCompoundPredicate 如果要在代码的单独部分中创建许多条件然后要组合,则更有用.

如果您的谓词是在一个地方创建的,只需在格式字符串中使用"AND"即可.

当你确定你的谓词足够复杂以至于创建它需要被分成单独的方法时,这取决于你.

即

如果只是a AND b那么使用单个谓词

如果它a AND (b OR c OR c) AND (e OR b)然后使用复合谓词!