ios - 为了在后续版本中使用轻量级迁移,我必须在我的第一个版本中启用版本控制吗?
<p><p>我担心的是后续版本中数据模型的变化。</p>
<p>我在 Xcode 中创建了一个新的 xcdatamodel 文件,默认情况下没有版本控制。我知道您可以单击某处并将其设为“第一个版本”。在 Groups and Files 树中,xcdatamodel 文件的左侧有一个黑色粗箭头,您可以单击该箭头查看其中的所有版本。</p>
<p>我的文件没有那个粗箭头,所以没有版本化。</p>
<p>这会在以后引起大问题吗?是否需要从一开始就对其进行版本控制,以便以后进行轻量级迁移?一旦应用交付给用户,就无法再更改。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您无需在第一个版本中设置轻量级迁移。当您决定迁移时,您需要做两件事。首先,您必须保留数据模型的每个版本的副本。这些模型通常保存在 .xcdatamodeld 文件中。或者,您可以只保留一堆 .xcdatamodel 文件。但是,最好使用 .xcdatamodeld 文件来保持一切井井有条。其次,您必须使用持久存储协调器激活轻量级迁移。创建持久存储协调器时,您将执行以下操作:</p>
<pre><code>__persistentStoreCoordinator = [ initWithManagedObjectModel:];
// Automatically migrates the model when there are small changes.
NSDictionary * options = [NSDictionary dictionaryWithObjectsAndKeys:
, NSMigratePersistentStoresAutomaticallyOption,
, NSInferMappingModelAutomaticallyOption,
nil];
[__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil
URL:storeURL
options:options
error:&error];
</code></pre>
<p>请记住,轻量级迁移只能做这么多。如果您需要进行较大的更改,那么您将需要创建一个映射模型。 </p></p>
<p style="font-size: 20px;">关于ios - 为了在后续版本中使用轻量级迁移,我必须在我的第一个版本中启用版本控制吗?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/6029703/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/6029703/
</a>
</p>
页:
[1]