美文网首页
iOS:浅谈 深.浅拷贝与copy.strong

iOS:浅谈 深.浅拷贝与copy.strong

作者: MxlZlh | 来源:发表于2016-09-14 17:44 被阅读27次

概要的测试了copy与mutableCopy的区别

深.浅拷贝
●copy/mutableCopy NSString

NSString *str1 = @"0123456789";
NSString *str2 = str1;
NSString *str3Copy = [str1 copy];
NSString *str4MCopy = [str1 mutableCopy];
NSMutableString *mStr5Copy = [str1 copy];
NSMutableString *mStr6MCopy = [str1 mutableCopy];

深.浅拷贝
●copy/mutableCopy NSMutableArray

NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"Jack",@"Name",@"28",@"Age",@"Man",@"Sex", nil];
NSDictionary *dic2 = [[NSDictionary alloc] initWithObjectsAndKeys:@"ZhanSan",@"Name",@"27",@"Age",@"Man",@"Sex", nil];
NSDictionary *dic3 = [[NSDictionary alloc] initWithObjectsAndKeys:@"LiLi",@"Name",@"29",@"Age",@"Woman",@"Sex", nil];  
NSMutableArray *array1 = [[NSMutableArray alloc] initWithObjects:dic1,dic2,dic3, nil];
NSArray *array2 = array1;
NSArray *array3 = [array1 copy];
NSLog(@"...array1 = %@",array1);
NSLog(@"...array2 = %@",array2);
NSLog(@"...array3 = %@",array3);

[array1 removeAllObjects];
    
NSLog(@"...array1 = %@",array1);
NSLog(@"...array2 = %@",array2);
NSLog(@"...array3 = %@",array3);
    
NSLog(@"...array1 = %p",array1);
NSLog(@"...array2 = %p",array2);
NSLog(@"...array3 = %p",array3);

参考文章:http://www.jianshu.com/p/e6a7cdcc705d

相关文章

网友评论

      本文标题:iOS:浅谈 深.浅拷贝与copy.strong

      本文链接:https://www.haomeiwen.com/subject/ajwvettx.html