来自UICollectionView中的域同步配置的种子数据

时间:2017-09-07 00:39:07

标签: ios swift uicollectionview realm realm-object-server

所以,这是我的问题:

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

1 个答案:

答案 0 :(得分:1)

Realm目前没有提供将独立Realm转换为同步Realm的API。如果我的理解是正确的,那么在打开同步的Realm时,有必要将数据从种子Realm复制到同步的Realm。