3
我即將結束創建我的新項目1.0版。我第一次使用coredata。準備與coredata應用發佈
該應用程序僅使用1個模型,所有數據將由用戶提供(所以我不會在應用程序中加載任何數據)。
當然,我已經在爲不同分支上的應用程序更新工作,並在將來看到數據模型的一些更改。模型上的變化將只包括:
- 除了實體
- 除了屬性的現有實體
- 實體沒有任何彼此的關係。
我已閱讀過:從那裏我接着iPhone app with CoreData :Lightweight Migration,在那裏我讀到更新它的模型,如果自動改變是次要的coredatas能力(如果我正確讀出我的變化都包含在那裏)。
NSError *error = nil;
NSURL *storeURL = <#The URL of a persistent store#>;
NSPersistentStoreCoordinator *psc = <#The coordinator#>;
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
BOOL success = [psc addPersistentStoreWithType:<#Store type#>
configuration:<#Configuration or nil#> URL:storeURL
options:options error:&error];
if (!success) {
// Handle the error.
}
我的問題有以下幾種:
- 我會在哪裏把這個代碼 在蘋果遷移文檔我發現自動遷移代碼
?我現在發現它的其他信息
- 我是否假設這段代碼只會在應用的更新版本中有必要?
- 我是否需要在我的1.0版應用程序上做任何其他準備工作,以便稍後通過&對coredata進行更新,還是我不必在第一個版本中考慮此問題?
如果你添加一個新的模型,你只給它另一個版本ID,並將舊的一個留在應用程序中,一切都由它自己完成? – 2012-03-28 14:29:40
,如果我添加一個屬性到現有的實體 - 如果更新爲默認值,上下文中的所有'舊'對象會更新爲新的默認值? – 2012-03-28 14:30:48
通過選擇現有模型並選擇編輯器>添加模型版本...來添加新模型。對於默認值:我假設是這樣,但我不知道。 – dasdom 2012-03-28 14:34:14