美文网首页iOS基础学习
Objective-C基础学习之copy与内存管理

Objective-C基础学习之copy与内存管理

作者: WenJim | 来源:发表于2017-10-27 10:43 被阅读8次

1.copy与内存管理

  • 浅拷贝
    • 原对象引用计数器+1
    • 必须对原对象进行释放
char *cstr = "this is a c string";
NSString *str1 = [[NSString alloc] initWithUTF8String:cstr];
NSLog(@"str = %lu", [str1 retainCount]);
NSString *str2 = [str1 copy];
NSLog(@"str = %lu", [str1 retainCount]);
[str2 release];必须做一次release
  • 深拷贝
    • 必须释放新对象
char *cstr = "this is a c string";
NSString *str1 = [[NSString alloc] initWithUTF8String:cstr];
NSLog(@"str = %lu", [str1 retainCount]);
NSMutableString *str2 = [str1 mutableCopy];
NSLog(@"str = %lu", [str1 retainCount]);
[str2 release]; // 必须做一次release

相关文章

网友评论

    本文标题:Objective-C基础学习之copy与内存管理

    本文链接:https://www.haomeiwen.com/subject/uxykpxtx.html