美文网首页
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