【发布时间】:2015-06-17 15:16:30
【问题描述】:
我有一个对象(还没有)存储在任何地方。即使没有为其创建领域,应用程序也会崩溃,说此对象在我修改后需要迁移。
我已经试过了(方法func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool):
RLMRealm.setSchemaVersion(1, forRealmAtPath: RLMRealm.defaultRealmPath()) { (migration: RLMMigration!, oldSchemaVersion: UInt) -> Void in
if oldSchemaVersion < 1 {
// not needed, nothing stored...
}
}
RLMRealm.defaultRealm()
日志:
*** Terminating app due to uncaught exception 'RLMException', reason: 'Migration is required for object type 'PYDRealmChange' due to the following errors:
- Property 'relativePath' is missing from latest object model.
- Property 'source' has been added to latest object model.
- Property 'target' has been added to latest object model.'
这是我在文档中找到的。它没有帮助,应用程序仍然崩溃。我的猜测是我需要 actual 领域来执行迁移。所以我的问题是 - 如果没有,我该如何迁移?
【问题讨论】:
-
您确定在第一次访问 Realm 之前设置了架构版本吗?您还可以分享您看到的异常消息吗?谢谢!
-
我添加了日志。我不确定我是否设置它之前。我只是按照文档告诉我将该迁移代码放入我的
AppDelegate... -
但也没有可访问的领域,我什至从未为该对象创建领域,我创建了一个对象,但从未将其存储在任何地方。
-
您是否使用情节提要,并在根视图控制器的默认属性值中从领域获取?因为这将在调用
application(_:didFinishLaunchingWithOptions:)之前访问领域。 -
是的,我正在使用 Storyboard,但不,我没有在那里访问它。我在
viewDidLoad()访问它