【发布时间】:2014-01-24 04:32:17
【问题描述】:
我正在为 iPad 游戏编写保存游戏功能,实际上只需要 1 个保存游戏。但是,我不确定是否应该考虑某种存档损坏并使用当前/以前的存档以防万一损坏。
iOS 设备事件能否中断原子写入操作并让我的存档处于损坏状态? 我说的是设备关闭、多任务处理、主页按钮、电话等内容.我知道原子的定义意味着它不应该,但我想确定一下。
+(void)writeSaveGameData:(NSData*)data
{
if(data == nil)
{
return;
}
[data writeToFile:[SaveGame savegamePath] atomically:YES];
}
+(NSData*)saveGameData
{
return [NSData dataWithContentsOfFile:[SaveGame savegamePath]];
}
【问题讨论】:
-
@Wooble 该问题询问并回答写入是否完全完成或失败而不会损坏文件。这个问题询问在什么情况下可能会发生故障。我认为这是一个很好的、新颖的问题。
-
不存在这种情况,这是另一个问题中给出的答案。
-
我认为您忽略了写入未完成和写入未完成损坏之间的区别。没有后者的情况。该方法从文档中返回 BOOL == YES 如果操作成功,否则为 NO。
-
好吧,如果写不完,我还是有旧的保存,这样就好了
标签: ios iphone objective-c save atomic