Realm iOS教程,从头开始构建iOS应用程序,写入失败

Realm iOS教程,从头开始构建iOS应用程序,写入失败,ios,swift,xcode,realm,Ios,Swift,Xcode,Realm,我在realm网站上循序渐进地学习了“从头开始构建iOS应用程序”教程,并观看了视频。一切似乎都井然有序。不幸的是,本教程没有包含完整的源代码供参考 当我运行这个项目时,它会连接到ROS并创建一个没有问题的领域。我可以在领域浏览器和web浏览器中看到这一点 但是,它立即开始抛出错误(在Xcode控制台中) 应用程序不会崩溃,错误会一次又一次地重复,应用程序不会做任何事情 这是我的设置代码 func setupRealm() { // Log in existing user with

我在realm网站上循序渐进地学习了“从头开始构建iOS应用程序”教程,并观看了视频。一切似乎都井然有序。不幸的是,本教程没有包含完整的源代码供参考

当我运行这个项目时,它会连接到ROS并创建一个没有问题的领域。我可以在领域浏览器和web浏览器中看到这一点

但是,它立即开始抛出错误(在Xcode控制台中)

应用程序不会崩溃,错误会一次又一次地重复,应用程序不会做任何事情

这是我的设置代码

func setupRealm() {
    // Log in existing user with username and password
    let username = "abcdefg"  
    let password = "1234"  

    SyncUser.logIn(with: .usernamePassword(username: username, password: password, register: false), server: URL(string: "http://127.0.0.1:9080")!) { user, error in
        guard let user = user else {
            fatalError(String(describing: error))
        }

        DispatchQueue.main.async {
            // Open Realm
            let configuration = Realm.Configuration(
                syncConfiguration: SyncConfiguration(user: user, realmURL: URL(string: "realm://127.0.0.1:9080/~/realmtasks")!)
            )
            self.realm = try! Realm(configuration: configuration)

            // Show initial tasks
            func updateList() {
                if self.items.realm == nil, let list = self.realm.objects(TaskList.self).first {
                    self.items = list.items
                }
                self.tableView.reloadData()
            }
            updateList()

            // Notify us when Realm changes
            self.notificationToken = self.realm.observe { _,_ in
                updateList()
            }
        }
    }
}

deinit {
    notificationToken?.invalidate()
}

为混乱道歉;我们将尽快更新我们的教程

Realm Cocoa 3.*需要使用ROS 2.0,通过NPM(说明)安装。来自我们网站上zip文件的Realm Object Server版本为ROS 1.0,与Realm Cocoa 3*不兼容


如果您希望看到演示项目的完整源代码,可以查看其。您可以克隆该存储库,安装它的cocoapod,打开Xcode工作区,并以这种方式从源代码构建项目;我们将尽快更新我们的教程

Realm Cocoa 3.*需要使用ROS 2.0,通过NPM(说明)安装。来自我们网站上zip文件的Realm Object Server版本为ROS 1.0,与Realm Cocoa 3*不兼容

如果您希望看到演示项目的完整源代码,可以查看其。您可以克隆该存储库,安装其cocoapod,打开Xcode工作区,并以这种方式从源代码构建项目

func setupRealm() {
    // Log in existing user with username and password
    let username = "abcdefg"  
    let password = "1234"  

    SyncUser.logIn(with: .usernamePassword(username: username, password: password, register: false), server: URL(string: "http://127.0.0.1:9080")!) { user, error in
        guard let user = user else {
            fatalError(String(describing: error))
        }

        DispatchQueue.main.async {
            // Open Realm
            let configuration = Realm.Configuration(
                syncConfiguration: SyncConfiguration(user: user, realmURL: URL(string: "realm://127.0.0.1:9080/~/realmtasks")!)
            )
            self.realm = try! Realm(configuration: configuration)

            // Show initial tasks
            func updateList() {
                if self.items.realm == nil, let list = self.realm.objects(TaskList.self).first {
                    self.items = list.items
                }
                self.tableView.reloadData()
            }
            updateList()

            // Notify us when Realm changes
            self.notificationToken = self.realm.observe { _,_ in
                updateList()
            }
        }
    }
}

deinit {
    notificationToken?.invalidate()
}