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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章