尝试访问配置时领域崩溃

时间:2020-08-27 13:55:13

标签: ios swift realm

我将Object类添加到Aps和Alert类中,现在当尝试访问具有错误的Realm配置时,应用程序崩溃:

线程1:异常:“无效的类子集列表:\ n-'PushNotification.aps'链接到类'Aps',该类在领域管理的类列表中缺失”

我试图提高架构版本,完全删除派生数据,删除应用程序-没有任何帮助。

领域配置文件

struct RealmGatewayImp: RealmGateway {
  let configuration: Realm.Configuration

  private init(config: Realm.Configuration) {
    configuration = config
  }

  var realm: Realm {
    try! Realm(configuration: configuration)
  }

  // MARK: - Push notification
  // The app crashes here 
  private static let pushConfig = Realm.Configuration(
    fileURL: try! Path.inSharedContainer("pushNotifications.realm"),
    schemaVersion: 1,
    deleteRealmIfMigrationNeeded: true,
    objectTypes: [PushNotification.self])

  public static var push: RealmGatewayImp = {
    RealmGatewayImp(config: pushConfig)
  }()
}

父类

@objcMembers
final class PushNotification: Object, Codable {
  dynamic var accCodeIso: String?
  dynamic var account: String?
  dynamic var accType: String?
  dynamic var amount: String?
  dynamic var aps: Aps?
  dynamic var commentary: String?
  dynamic var corrAccCodeIso: String?
  dynamic var corrAccount: String?
  dynamic var corrAccType: String?
  dynamic var date: Date?
  dynamic var docType: String?
  dynamic var id: String?
  dynamic var payAmount: String?

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

参数类别

@objcMembers
final class Aps: Object, Codable {
  dynamic var alert: Alert?
}

@objcMembers
final class Alert: Object, Codable {
  dynamic var body: String?
  dynamic var title: String?
}

1 个答案:

答案 0 :(得分:0)

如果您要指定Realm管理的对象,则需要完整的列表。代替

objectTypes: [PushNotification.self])

尝试

objectTypes: [PushNotification.self, Aps.self, Alert.self])