IOS学习 copy的一些认识

    NSMutableString *string = [NSMutableString stringWithString: @"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时,只能深拷贝元素的指针,元素的内容无法深拷贝。

发布了17 篇原创文章 · 获赞 5 · 访问量 5万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章