ios - 如何在本地存储 NSData

标签 ios objective-c ios7 nsdata

我收到各种格式的文档,扩展名为 .png、.txt、.jpg、、mp3 等 NSData 格式,我需要在本地存储这些文档并查看它,我已经尝试过了

 NSData* conData = [convStr dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"the converted string to nsdata is :%@",conData);

[conData writeToFile:@"Filename.txt" atomically:YES];

但不幸的是,这不起作用,任何人都可以提供帮助。

最佳答案

注意 - 将 NSData 写入文件是一个 IO 操作,可能会阻塞主线程使用调度,还提供用于写入的文件路径,而不是仅文件名。

这为我写入文件

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
    // Generate the file path
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"Filename.txt"];

     // Save it into file system
    [data writeToFile:dataPath atomically:YES];
});

关于ios - 如何在本地存储 NSData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36369890/

相关文章:

ios - 它如何称呼iOS的新导航设计

android - NativeScript : custom camera view

ios - 带有错误 : failed to obtain a cell from its dataSource 的 .xib 单元格的 UITableView

objective-c - x代码 : Passing a Label text into a custom added subview

ios - iOS7 和 iOS8 之间的 Root View Controller 差异

iphone - 没有任何谷歌结果的神秘警告 [在模拟器中]

ios - 像 native 相机应用程序一样在方向变化时旋转按钮

objective-c - 如何通过引用传递和设置 CGFloat?

ios - iOS8 星级控制

objective-c - 在给定索引上启动 UIPageViewController