码迷,mamicode.com
首页 > 其他好文 > 详细

NSFileManager在初始化文件的时候一不留神就进入陷进

时间:2014-11-04 18:52:26      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   io   color   ar   for   sp   文件   

今天调试一个程序,内容是在手机一个本地路径生成一个缓存文件,在生成本地路径的时候犯了一个错误,本着求原因的精神调试了2个小时,终于找到原因了

刚开始断点调试的时候,执行到第13行,这里死活不给写入数据,一直返回NO,看着我都蛋碎了,后来看到打印出来的路径在Library下,想着是不是这里不

允许用户在这里创建数据缓存,果然 把 2行 的 NSDocumentationDirectory 改成 NSDocumentDirectory,之后路径就变成了:

file:///var/mobile/Applications/79D7DD73-74C5-4ECE-BEF7-5988560A8AC2/Documents/436783070;之后这里的路径就可以写入数据了..

 

修改前:

 1 -(NSURL *)uniqueDocumentURL{
 2     NSArray *documentDictiories = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentationDirectory inDomains:NSUserDomainMask];//注意这里的NSDocumentationDirectory
 3     NSString * unique = [NSString stringWithFormat:@"%.0f",floor([NSDate timeIntervalSinceReferenceDate])];
 4     id URLObject = [documentDictiories firstObject] ;
 5     return [URLObject URLByAppendingPathComponent:unique];
 6 }
 7 
 8 -(NSURL *)imageURL{
 9     if (!_imageURL && self.image) {
10         NSURL * url = [self uniqueDocumentURL];
11         if (url) {
12             NSData * imageData = UIImageJPEGRepresentation(self.image, 1.0);
13             if ([imageData writeToURL:url atomically:YES]) {//问题
14                 _imageURL = url;
15             }
16         }
17     }
18     return _imageURL;
19 }
20 
21 //控制台打印
22 Printing description of url:
23 file:///var/mobile/Applications/16614FF0-B641-4938-8BF8-91658759D4D8/Library/Documentation/436783128

 修改后:

 1 - (NSURL *)uniqueDocumentURL
 2 {
 3     NSArray *documentDirectories = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
 4     NSString *unique = [NSString stringWithFormat:@"%.0f", floor([NSDate timeIntervalSinceReferenceDate])];
 5     return [[documentDirectories firstObject] URLByAppendingPathComponent:unique];
 6 }
 7 
 8 - (void)setImage:(UIImage *)image
 9 {
10     self.imageView.image = image;
11 
12     // when image is changed, we must delete files we‘ve created (if any)
13     [[NSFileManager defaultManager] removeItemAtURL:_imageURL error:NULL];
14     [[NSFileManager defaultManager] removeItemAtURL:_thumbnailURL error:NULL];
15     self.imageURL = nil;
16     self.thumbnailURL = nil;
17 }
18 
19 
20 Printing description of url:
21 file:///var/mobile/Applications/79D7DD73-74C5-4ECE-BEF7-5988560A8AC2/Documents/436783070

 

NSFileManager在初始化文件的时候一不留神就进入陷进

标签:des   style   blog   io   color   ar   for   sp   文件   

原文地址:http://www.cnblogs.com/zuopeng/p/4074121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!