首页 > 解决方案 > 将字符串列表添加到 Realm 托管对象会导致应用程序在启动时崩溃

问题描述

在以下代码中,添加“let members =" 声明会导致应用程序在启动时立即崩溃。

崩溃是 EXC_BAD_ACCESS 并且堆栈跟踪指向 Object.swift -> getNonIgnoredMirrorChildren

import Foundation
import RealmSwift

class GroupSyncModel : Object, Codable {
    @objc dynamic var created : String?
    @objc dynamic var name : String?
    @objc dynamic var groupId : String // Primary key
    @objc dynamic var adminUserId : String?
    @objc dynamic var adminUserName : String?
    @objc dynamic var joinedAt : String?

    let members = List<String>()

    override static func primaryKey() -> String? {
        return "groupId"
    }
}

有没有其他人遇到过这个问题?

标签: iosswiftrealm

解决方案


我见过这个。我知道您的members财产似乎是问题,但实际上是groupId财产。groupId需要有一个默认值。

改变这个:

@objc dynamic var groupId : String

对此:

@objc dynamic var groupId : String = "SOME_DEFAULT_STRING_VALUE"

推荐阅读