iOS中自动释放问题?

来源:未知 责任编辑:责任编辑 发表时间:2014-01-26 21:59 点击:

--前言:iOS开发中关于对象的释放问题,虽然知道规则,但总不清楚自动释放的对象什么时候彻底消失?它存在的多久?什么情况会消失?都不清楚,每次用自动释放对象,总有点心虚的感觉,以下是一些例子、研究。

--直接上代码,代码写在一个控制器的viewDidLoad方法里(代码内容是用一个path就保存一个data,但path是自动释放对象):

[html]
例子1 
NSArray*patharray=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString*docstr=[patharray objectAtIndex:0];    
//path成员变量,文件路径-自动释放对象 
path=[docstr stringByAppendingPathComponent:@"1.png"]; 
//data读取内容 
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"IMG_1340" ofType:@"PNG"]; 
NSData *data= [NSData dataWithContentsOfFile:imagePath];  
//用path去保存data 
[data writeToFile:path atomically:NO]; 

    //例子1
    NSArray*patharray=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString*docstr=[patharray objectAtIndex:0];  
    //path成员变量,文件路径-自动释放对象
    path=[docstr stringByAppendingPathComponent:@"1.png"];
    //data读取内容
    NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"IMG_1340" ofType:@"PNG"];
    NSData *data= [NSData dataWithContentsOfFile:imagePath];
    //用path去保存data
    [data writeToFile:path atomically:NO];例子1,这么写,没问题,文件能保存。 [html] view plaincopyprint?    //例子2 
    NSArray*patharray=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString*docstr=[patharray objectAtIndex:0];    
    //path成员变量,文件路径-自动释放对象 
    path=[docstr stringByAppendingPathComponent:@"1.png"]; 
    //调用方法,path做参数        
    [self saveData:path]; 
    //分割线 
-(void)saveData:(NSString *)filePath 

    //data读取内容 
    NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"IMG_1340" ofType:@"PNG"]; 
    NSData *data= [NSData dataWithContentsOfFile:imagePath];  
    //用path去保存data 
    [data writeToFile:filePath atomically:NO];  
}  

    //例子2
    NSArray*patharray=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString*docstr=[patharray objectAtIndex:0];  

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Lexical or Preprocessor Issue 'xxx.h
  • ios学习笔记(二)xcode 4.3.2下实现基本交互
  • ios版本的helloworld
  • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
  • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
  • UITableView一些方法
  • IOS类似iphone通讯录TableView的完整demo【附源码】
  • [iPhone中级]iPhone团购信息客户端的开发 (二)
  • iphone(object-c)内存管理(1)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1