深复制 浅复制 最简单的记忆法则

ios中 所有带NSMutable的数据类型 copy 方法得到的都是浅copy不可变的数据类型 

否则用mutableCopy

int main(int argc, char *argv[]) {

@autoreleasepool {

NSMutableArray *original = [NSMutableArray arrayWithObjects:@"a", @"b",nil];  

NSMutableArray *shallowCopy = [original copy];  //得到的是不可变的NSArray

//NSMutableArray *shallowCopy = [original mutableCopy];  

NSMutableArray *deepCopy = [[NSMutableArray alloc] initWithArray:original copyItems:YES];  

    [shallowCopy removeObjectAtIndex:1];

NSLog(@"%@ %@",shallowCopy,deepCopy);

}

}

 


你可能感兴趣的:(深复制 浅复制 最简单的记忆法则)