swift - 静态功能中的 Realm 第一用户

标签 swift realm

我的用户信息只有一条记录,那么如何从静态函数中只返回第一条记录?

如果我添加 realm.objects(UserInfo.self).first 它将给我:

Cannot convert return expression of type 'UserInfo?' to return type 'Results<UserInfo>?'

获取用户信息的静态函数:

static func getUserInfo() -> Results<UserInfo>? {
    do {
        let realm = try Realm()
        var userInfo = realm.objects(UserInfo.self)
        return userInfo
    } catch {
        return nil
    }
}

Swift 和 Realm 对我来说都是新手 - 谢谢!

最佳答案

您的静态函数的返回类型与您的意图不符。 Results<UserInfo>?是一个集合(非常类似于 Array )。如果你想要单个 UserInfo 对象,返回类型应该是 UserInfo? :

static func getUserInfo() -> UserInfo? {
    do {
        let realm = try Realm()
        return realm.objects(UserInfo.self).first
    } catch {
        return nil
    }
}

关于swift - 静态功能中的 Realm 第一用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53455230/

相关文章:

android - 使用 addRealmObjectField 添加新架构时出现 RealmMigrationNeededException

java - Realm:如何仅查询一对多关系中父亲的对象

swift - 类型是否可以符合具有比类型本身更高的访问级别的协议(protocol)?

ios - 在 Realm 中查询

ios - 在应用程序扩展的共享容器中找不到文件

ios - imageView的动画是从中心开始的

node.js - Realm 与关系读取数据

ios - RLMException - RLMArray 属性需要定义包含类型的协议(protocol) - 示例 : RLMArray<Person>

ios - 如何快速打印数组中对象的值,而不是它的位置

ios - 为什么我的 sender.tag 在 SWIFT 中返回为 0