黑马程序员技术交流社区
标题:
关于OC数组的问题
[打印本页]
作者:
程序猿-2014
时间:
2014-4-18 18:00
标题:
关于OC数组的问题
NSMutableArray 类型的 对象 调用 arrayByAddingObjectsFromArray: objects 这个返回的时它自己本身还是什么? 求大神解惑
作者:
微尘•逐梦
时间:
2014-4-18 18:12
#import <Foundation/Foundation.h>
int main()
{
NSMutableArray *array1 = @[@"jack",@"rose"];
NSArray *array2 = @[@"jim" ];
NSMutableArray *array3;
array3 = [array1 arrayByAddingObjectsFromArray:array2];
NSLog(@"%@",array1);
NSLog(@"%@",array2);
NSLog(@"%@",array3);
return 0;
}
复制代码
输出结果
2014-04-18 18:10:26.467 0418-test2[2197:303] (
jack,
rose
)
2014-04-18 18:10:26.469 0418-test2[2197:303] (
jim
)
2014-04-18 18:10:26.469 0418-test2[2197:303] (
jack,
rose,
jim
)
Program ended with exit code: 0
复制代码
从结果来看不是它本身,是两个数组拼接之后的结果。
作者:
李烨
时间:
2014-4-18 19:40
- (NSArray *)arrayByAddingObjectsFromArray:(NSArray *)otherArray
这是他的方法 返回NSArray *
作者:
悟中生有
时间:
2014-4-18 19:43
int main(int argc, const char * argv[])
{
//定义可变数组
NSMutableArray *array1 = [NSMutableArray arrayWithObjects:@"shanghai",@"taiwan", nil];
NSArray *array2 = @[@"beijing"];
//打印数组和数组的内存地址
NSLog(@"%@----%p",array1,array1);
NSLog(@"%@----%p",[array1 arrayByAddingObjectsFromArray:array2],[array1 arrayByAddingObjectsFromArray:array2]);
return 0;
/*运行结果:
2014-04-18 19:40:28.454 OC基础小练习-1[522:303] (
shanghai,
taiwan
)----0x10010bdf0
2014-04-18 19:40:28.457 OC基础小练习-1[522:303] (
shanghai,
taiwan,
beijing
)----0x100300a20
由打印出来的内存地址可以看出,返回的是新创建的数组对象,不是原对象。
*/
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2