NSLog 可以打印的最大尺寸
Posted
技术标签:
【中文标题】NSLog 可以打印的最大尺寸【英文标题】:Maximum size a NSLog can print 【发布时间】:2013-06-24 16:21:58 【问题描述】:我试图打印一个字典数组。该字典包含 300 个键及其值。数组中大约有 6000 多个字典。但是当其中的字典数量少于 3300 时,NSLog 可以打印该数组。当我尝试在数组中添加更多数量的字典(> 3300)时,该数组没有被打印。我在 xcode 控制台中变得空白。 NSLog 打印值是否有一定的限制?
【问题讨论】:
能否请您添加一些代码,我认为这不是 nslog 问题。 NSLog 只是printf
的一种附加形式,所以我想它可以容纳printf
的容量。这取决于可用内存...
如果未指定,则存在实际限制。您需要以某种方式将您的请求分解为更小的单元。 (如果不出意外,您可以花费大量时间等待 NSLog 格式化并在内部打印数据,然后再开始查看它。如果分成更小的部分,您可以更快地查看它。)
除了 Hot Licks 所说的,使用 for 循环枚举数组并在每个单独的字典对象上调用 NSLog() 应该很容易。
我可以打印单个字典对象。但是,如果尝试打印整个数组..它需要相当长的时间。
【参考方案1】:
NSLog 打印 1022 个字符
如果你想扩展 NSLog 打印限制,你可以在全局头文件中重新定义 NSLog 为 printf
#define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
【讨论】:
这个有快速版本吗?以上是关于NSLog 可以打印的最大尺寸的主要内容,如果未能解决你的问题,请参考以下文章