ios - 安全地访问 iOS 中的文件

标签 ios objective-c

我创建了一个将属性列表序列化到文件中的应用程序。我从用户那里收到一些报告,说保存的数据有时会丢失。下面的代码有问题吗?

也许如果文件确实存在但被阻止并且 fileExistsAtPath: 返回 NO,那么它会被重新创建吗?

NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
plistPath = [rootPath stringByAppendingPathComponent:@"BookmarkData.plist"];

if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath])
{
    [[NSFileManager defaultManager] createFileAtPath:plistPath contents:nil attributes:nil];
}

最佳答案

您不会显示调用该代码的位置。没有它,就无法确定。

如果您只是在应用程序终止时这样做,那么这很可能是间歇性数据丢失的原因。永远不能保证您的应用程序将以任何友好、受控的方式终止。用户可能会强制终止,设备可能会重置,应用程序可能会崩溃等等......

关于ios - 安全地访问 iOS 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18594028/

相关文章:

ios - 尝试Pod安装Firebase时出现Cocoapods错误-Nanaimo

ios - Google Analytics SDK 是否使用 SSL?

objective-c - 从 NSImage 获取 GLuint 纹理

ios - 解析 - xcode 中的多条件查询问题( objective-c )

ios - ios 6.0及以上版本获取谷歌地图的方法

ios - 当两个 View 在同一个地方时,如何控制显示和隐藏?

iphone - Xcode 4 跳过将应用程序复制到设备/模拟器

objective-c - 更改文件夹的 Finder 侧边栏图标

ios - 尝试呈现模态视图 Controller 时出错

ios - 使用 NSPredicate IOS 取反值