IOS学习 copy的一些认识

来源:互联网 发布:我国网络犯罪原因分析 编辑:程序博客网 时间:2024/06/02 02:13

    NSMutableString *string = [NSMutableStringstringWithString:@"origion"];      //retainCount = 2   string

//    NSMutableString *string1 = [@"origion" copy];                                 //巨大的数

//    NSString *stringCopy = [string copy];                                           //retainCount = 2   string     stringCopy    retainCount  = 1

//    NSMutableString *mStringCopy = [string copy];                                   //retainCount = 2   string     mStringCopy  retainCount = 1

//    NSMutableString *stringMCopy = [string mutableCopy];

////    [mStringCopy appendString:@"mm"];//error

//    [string appendString:@" origion!"];

//    [stringMCopy appendString:@"!!"];


(把不可变变量进行拷贝成可变变量时也是深拷贝)

1.copy在对可变变量进行拷贝时,是深拷贝,但是将NSString拷贝成NSString这种的时候和retain时一样的


2.再对NSArray时或者NSMutableArray时,只能深拷贝元素的指针,元素的内容无法深拷贝。

0 0