所以,这是我的问题:
iOS上域的本地路径位于文档目录中。我可以打开它们:
let realm = try! Realm()
打开同步域是不同的,因为它们位于URL https://realm.io/docs/swift/latest/#realms
我有一个带有Results<Object>
的UICollectionView我可以通过在启动时写入Realm来从单独的文件中呈现在AppDelegate中调用的默认数据
单独的文件
class SetUpData {
// MARK: - Seed Realm
static func defaults() {
let realm = try! Realm()
guard realm.isEmpty else { return }
try! realm.write {
realm.add(List.self())
}
}
}
App Delegate
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// MARK: - Set Up Realm If Deleted
var config = Realm.Configuration()
config.deleteRealmIfMigrationNeeded = true
Realm.Configuration.defaultConfiguration = config
SetUpData.defaults()
return true
}
从这里,客户端(iOS),我能够成功登录(滚动我自己的登录,但值对应于Realm对象服务器(ROS)管理员用户)并检索{{1的默认值并开始将“列表”写入我的应用程序。
但是,当我配置List.cell
par 打开时,同步Realm需要一个已经过对象服务器认证并且有权打开该Realm 的用户,我合理崩溃在我的Sync Configuration
cellForItemAtIndexPath
致命错误中:在解包可选值时意外发现nil,因为没有要返回的初始数据。
这是有道理的。但我该怎么办?
我是否需要在默认配置中创建Realm文件并将其迁移到服务器?我尝试使用下面的代码将我的配置更改为App Delegate中的Sync对象(这是我在return lists.count
中使用的)。没有骰子。
ListViewController
答案 0 :(得分:1)
Realm目前没有提供将独立Realm转换为同步Realm的API。如果我的理解是正确的,那么在打开同步的Realm时,有必要将数据从种子Realm复制到同步的Realm。