我要添加到NSMutableArray的每个迭代中都有2个双打,但是我似乎无法实现。

NSMutableArray *touchArray = [[NSMutableArray alloc]init];
[touchArray addObject:[NSString stringWithFormat:@"%d", "%d", tapTotal, touchBegin]];
NSLog(@"array: %@", touchArray);


控制台会打印14108作为数组的值,我不确定这是从哪里来的,它不是两个变量之一的值。 XCode在前两行抱怨:“'touchArray'的本地声明隐藏了实例变量。我知道我至少在做一件事

谢谢你的帮助,
罗伯特

最佳答案

首先是“本地声明问题”:
您已经在其他地方声明了touchArray,因此无需重新声明,只需(可能)像touchArray = [[NSMutableArray alloc] init];这样初始化

其次:双重问题:有很多:
您要在数组中添加一个字符串,而不是两个双精度数。要添加双精度,您需要先将其包装在NSNumber中:

[touchArray addObject:[NSNumber numberWithDouble:firstDouble]];
[touchArray addObject:[NSNumber numberWithDouble:secondDouble]];


我也想打印出数组中的每个变量以检查它,而不是数组对象本身。为此:NSLog(@"array[0] = %g", [[touchArray objectAtIndex:0] doubleValue]

编辑以澄清答案:我的答案假设发布者想向数组中分别添加两个双打,而不是其中包含两个值的字符串。以为我可以澄清一下,因为肯尼和我有不同的表现:)

这里有很多错误,所以我建议也许尝试阅读客观的c / iphone开发书以了解更多信息。

10-08 05:59