NSMutableArray描述方法 - 数组数组

时间:2009-12-22 00:28:45

标签: iphone nsmutablearray

我有一个包含数组对象的Array。一组数组。当我将描述方法应用于数组时,我看不到内部数组中的数据。这是代码:

[runScoreDataArray addObject:[NSString stringWithString:currentUser]];
[runScoreDataArray addObject:[NSNumber numberWithDouble:mainScores.scoreTotal]];

NSLog(@"Array1 contains: %@", [runScoreDataArray description]);

// Now add the array runScoreDataArray to the Array highScoresArray
[highScoresArray addObject: runScoreDataArray];

// Empty the runScoresData Array after each run.
[runScoreDataArray removeAllObjects];

NSLog(@"Array2 contains: %@", [highScoresArray description]);

runScoresDataArray的NSLog打印输出应该按原样读取: Array1包含:(USER1,34500)

NSLog for highScoresArray读取: ARRAY2包含:((),(),())

我希望在NSLog打印输出中看到每个数组元素的数据,而不是空括号。

问题:如何使用描述方法打印出数组数组的内容?

1 个答案:

答案 0 :(得分:6)

当您-addObject: runScoreDataArrayhighScoresArray时,它不会复制数组中的值,而是向父数组添加对实际runScoreDataArray的引用。< / p>

因此,当您继续使用runScoreDataArray清除-removeAllObjects时,也会影响highScoresArray中的引用。

根据您所追求的内容,您可能需要以下内容:

[highScoresArray addObject: [NSArray arrayWithArray:runScoreDataArray]];

插入浅拷贝。

相关问题