我查找了如何转储和数组到我最常找到的控制台:
for (id name in arrayStuff)
NSLog (@"Array contents: %d", name);
我已经尝试了不同的格式化程序%d%@%g等打印不同的东西,但不是我99%肯定会输入到对象中的值,因此也就是数组。这似乎不起作用,你怎么知道什么用作形成器?
我有一个NSMutableArray,其中一个对象的实例包含一个int,并且在每个循环中添加了两个双精度数组。我想打印出这些值,并确保正确的值。有任何想法吗?
由于
答案 0 :(得分:3)
您的格式说明符错误。 NSArrays包含对象,而不是int,因此您必须使用Objective-C对象%@
的说明符:
for (id name in arrayStuff)
NSLog(@"Array element: %@", name);
或者只是:
NSLog(@"Array contents: %@", arrayStuff);
答案 1 :(得分:1)
您希望使用“%@”格式说明符来打印对象。
要显示对象的内容(int& double),您需要在对象中实现-description
方法。
请参阅What is the Objective-C equivalent for "toString()", for use with NSLog?
答案 2 :(得分:1)
如果您创建了一个Object类型来保存值,那么在for循环中使用该对象类型,然后使用getter访问对象:
for (ObjectName name in arrayStuff) {
NSLog(@"Array int: %d", name.myIntValue);
NSLog(@"Array double: %f ...
}