【发布时间】:2010-06-19 19:58:26
【问题描述】:
示例:我有一个复杂的方法,它做了很多事情,最后我想用 NSLog 打印一个报告。 NSLog 需要一个字符串,然后是任意数量的参数。所以可以说有这些可能的值可以记录:
一个
B
C
D
E
F
可能会发生 - 例如 - C 和 D 没有被记录,但其余部分都没有记录。我将如何构建一个动态的东西来代表 NSLog 的值参数?
我选择 NSLog 来回答这个问题,因为它可能更简单,因为 NSPredicate 和 SUBQUERY。在使用 NSMutableString 和 appendFormat:... 时动态构建 NSPredicate 格式字符串似乎是不可能的,它总是导致谓词的编译错误。我猜 NSPredicate 提供的格式值与 NSMutableString -appendFormat 不同。
因此,如果有办法为 NSPredicate 提供以下内容: 1) 一个巨大的、动态创建的格式字符串 2) 一个巨大的、动态创建的参数“列表”
那会很酷。
【问题讨论】:
-
根据您关于谓词的其他问题,复杂的谓词通常使用子谓词的显式实例作为对象而不是格式字符串来更好地结构化和生成
标签: iphone objective-c cocoa-touch nspredicate nslog