我正在使用核心數據爲我的應用程序,我有一個模型保留,在那裏我有一個facebook_event_id,起初我作爲一個整數64,但問題是,這可能是短暫的,我希望它變成NSString (無論如何我都把它當作來自Facebook的JSON字符串)。核心數據如何將NSNumber更改爲NSString?
我已經做了,現在下面:
- 編輯 - >添加模型版本和基於它在我的舊的一個
- 重建我的子類
- 加入這個字典與NSMigratePersistentStoresAutomaticallyOption和NSInferMappingModelAutomaticallyOption設置爲YES
當我測試它在整數16和64之間變化時,一切正常,但是當我嘗試從整數6 4和字符串它給了我一個錯誤:
Can't find or automatically infer mapping model for migration
所以我增加了一個新的映射模型,並在那裏我想解決它在ReservationRoReservation | facebook_event_id | $source.facebook_event_id
我認爲一個人應該做的事情與$source.facebook_event_id
把它轉換但我不知道該寫些什麼才能讓它起作用。一個人不應該在那裏使用普通的Objective-C,而是一個NSExpression,但是在那裏它不會解釋如何將NSNumber轉換爲NSString。
蘋果是否有關於這些遷移政策的文件?你能提供我哪裏可以閱讀使用這種功能($ source.X,「functionName」)? – Eddie
@Eddie我不認爲他們有很好的文檔,但這些可能會讓你開始:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/vmMappingOverview.html和http ://stackoverflow.com/a/14068104/1196205 –