这是正确的做法吗?如何使用objective-c中的for循环添加数组中的元素?
nsmutablearray *myarray1 //have some data in it
for (int i=0;i< [myarray1 count]; i++)
{
myArray2 = [NSMutableArray array];
[myArray2 addObject:i];
}
我该如何打印myarray2的这个值。
这是正确的做法吗?如何使用objective-c中的for循环添加数组中的元素?
nsmutablearray *myarray1 //have some data in it
for (int i=0;i< [myarray1 count]; i++)
{
myArray2 = [NSMutableArray array];
[myArray2 addObject:i];
}
我该如何打印myarray2的这个值。
如果你想一个阵列其他数组的元素复制然后使用下面的代码:如果你要打印的元素值则取决于存储数组您就可以打印元素数据
NSMutableArray *secondArray = [NSMutableArray arrayWithArray:firstArray];
。
也就是说,如果数组包含字符串对象,那么你可以打印这样的:
for(int i=0;i<secondArray.count;i++)
{
NSLog(@"Element Value : %@",[secondArray objectAtIndex:i]);
}
如果数组包含任何用户定义的对象,那么你可以打印这样的:
for(int i=0;i<secondArray.count;i++)
{
UserDefineObject *obj = [secondArray objectAtIndex:i];
NSLog(@"Element Value with property value: %@",obj.property);
}
的最简单的方法来创建包含与旧数组相同元素的新数组是使用NSCopying或NSMutableCopying。
NSArray* myArray2 = [myArray1 copy]; // myArray2 is an immutable array
NSMutableArray* myArray3 = [myArray1 mutableCopy]; // myArray3 is an mutable array
如果您想打印一个数组的内容用于调试目的:
NSLog(@"myArray2 = %@", myArray2);
如果你想为一个UI漂亮的印刷,你需要遍历如其他人所说。
你试图将一个数组的元素添加到其他数组? – Jim 2010-05-21 11:54:52
你想如何打印?仅用于调试目的吗? – 2010-05-21 11:54:53
您想将'myArray2 = [NSMutableArray array];'语句移到'for'循环之外。如果你这样做了,你的代码将会复制数组,尽管Jim用'arrayWithArray:'解决方案更好。 – 2010-05-21 12:09:02