ios - NSKeyedArchiver 会覆盖以前的存档值吗?
<p><p>我正在使用以下做IOS App数据备份</p>
<ul>
<li><strong>NSKeyedArchiver.archiveRootObject()</strong></li>
<li><strong>NSKeyedUnarchiver.unarchiveObjectWithFile()</strong> </li>
</ul>
<p>基于此处的 Apple 文档 -</p>
<ul>
<li> <a href="https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson10.html" rel="noreferrer noopener nofollow">iOS Developer Library - iOS Apps (Swift) - Persist Data</a> </li>
</ul>
<p>我很好奇这里有一个可能很愚蠢的问题 - 每次您进行新的保存时,以前的存档都会被删除吗?</p>
<p><strong>问题</strong></p>
<ul>
<li>在调用 NSKeyedArchiver.archiveRootObject() 时,新存档是否会覆盖之前的存档值?</li>
<li>如果没有覆盖旧值,是否需要删除旧值?</li>
</ul>
<p>这是删除 NSKeyedArchiver 值的有用引用</p>
<ul>
<li> <a href="https://stackoverflow.com/questions/21023018/deleting-files-archived-with-nscoding" rel="noreferrer noopener nofollow">stack overflow - Deleting files archived with NSCoding</a> </li>
</ul></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p><strong>NSKeyedArchiver</strong> 不负责<strong>覆盖</strong> 先前的对象。它只是将 <em>youObject</em> 转换为 <em>NSData</em> ,反之亦然。因为,“自定义对象”无法保存到 <em>NSUserDefaults</em>。 </p>
<p>另外,要覆盖数据,您应该这样做。即</p>
<pre><code> ;
;
</code></pre>
<p>删除数据:</p>
<pre><code>[ removeObjectForKey:identifier];
[ synchronize];
</code></pre></p>
<p style="font-size: 20px;">关于ios - NSKeyedArchiver 会覆盖以前的存档值吗?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/34977606/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/34977606/
</a>
</p>
页:
[1]