//
// main.m
// OC9_字符串的内存管理
//
// Created by zhangxueming on 15/6/18.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import <Foundation/Foundation.h> //字符串内存管理, retainCount的值可以不参考, 只需要遵守内存管理法则就行
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str1 = @"hello world";
NSLog(@"str1 retainCount = %li", str1.retainCount);
NSString *str2 = [NSString stringWithString:str1];
NSLog(@"str2 retainCount = %li", str2.retainCount);
NSString *str3 = [[NSString alloc] initWithString:str1];
NSLog(@"str3 retainCount = %li",str3.retainCount); NSLog(@"str1 = %p str2 = %p str3 = %p", str1, str2, str3);
[str3 release]; NSString *str4 = [str3 retain];
NSLog(@"str4 retainCount = %li", str4.retainCount);
[str4 release]; NSString *str5 = [str4 copy];
NSLog(@"str5 retainCount = %li", str5.retainCount);
NSLog(@"str5 = %p str4 = %p", str5, str4);
[str5 release]; NSMutableString *mulStr1 = [[NSMutableString alloc] initWithString:str5];
NSLog(@"mulStr1 retainCount = %li", mulStr1.retainCount);
NSLog(@"mulStr1 = %p str5 = %p", mulStr1, str5); NSMutableString *mulStr2 = [mulStr1 retain];
NSLog(@"mulStr2 retainCount = %li", mulStr2.retainCount); NSString *str6 = [[NSString alloc] initWithString:mulStr1];
NSLog(@"str6 retainCount = %li", str6.retainCount); NSString *str7 = [[NSString alloc] init];//@""
NSLog(@"str7 retainCount = %li", str7.retainCount); NSLog(@"str6 = %p str7 = %p", str6, str7); NSString *str8 = [str7 stringByAppendingString:@"qian feng"]; NSLog(@"str8 retainCount = %li", str8.retainCount);
NSLog(@"str8 = %p", str8); [str6 release];
[str7 release];
[mulStr1 release];
[mulStr2 release];
}
return ;
}

最新文章

  1. 搭建自己的LAMP
  2. Service Broker应用(1):简介、同server不同DB间的数据传输
  3. 超简单的js数字验证
  4. 【USACO 1.3】Ski Course Design
  5. linux命令:tail
  6. Java基础—ClassLoader的理解
  7. Android 的自定义Spinner组件实现方式
  8. java实现字符串反转(原作有点错误,需要看下评论)
  9. PHP 中 const define 的区别
  10. ThinkPHP配置项(六)
  11. 【01-14】java ThreadLocal工具类
  12. springmvc权限拦截器
  13. PAT (Advanced Level) 1106. Lowest Price in Supply Chain (25)
  14. 云计算之路-阿里云上:节点 CPU 波动引发 docker swarm 集群故障
  15. bzoj 3048[Usaco2013 Jan]Cow Lineup 思想,乱搞 stl
  16. 从PRISM开始学WPF(四)Prism-Module-更新至Prism7.1
  17. 项目Alpha冲刺(2/10)
  18. 美国运营商推送假5G图标:用户当场蒙圈了
  19. Spring学习笔记--Spring简介
  20. Wed Jul 04 18:01:38 CST 2018 WARN: Establishing SSL connection without server&#39;s identity verification is not recommended

热门文章

  1. UVa540 Team Queue
  2. myeclipse 10创建maven项目
  3. sed命令查找&lt;media/msm_cam_sensor.h&gt;替换为&quot;len_msm_cam_sensor.h&quot;
  4. mongo批量更新
  5. Swift 3.0 的 open,public,internal,fileprivate,private 关键字
  6. iOS6 / iOS7 状态栏高度适配
  7. yii泛域名
  8. VBA Excel 单元格操作
  9. Qt Quick实现的疯狂算数游戏
  10. svm、经验风险最小化、vc维