Realm中具有延迟属性的复合键

马可

我在Swift中找到了使用Realm和复合主键的绝佳解决方案:https : //github.com/realm/realm-cocoa/issues/1192

public final class Card: Object {
  public dynamic var id = 0 {
      didSet {
          compoundKey = compoundKeyValue()
      }
  }
  public dynamic var type = "" {
      didSet {
          compoundKey = compoundKeyValue()
      }
  }
  public dynamic lazy var compoundKey: String = self.compoundKeyValue()
  public override static func primaryKey() -> String? {
      return "compoundKey"
  }

  private func compoundKeyValue() -> String {
      return "\(id)-\(type)"
  }
}

但是我发现Realm不支持惰性属性,在我的情况下,我收到此错误:

异常NSException *名称:“ RLMException”-原因:“在Realm Swift对象类上不允许使用懒惰的托管属性'compoundKey'。要么将该属性添加到被忽略的属性列表中,要么使其变为非懒惰的。0x00007f8a05108060

仍然有没有懒惰属性的复合密钥吗?

马里乌斯

您找到的解决方案已过时。我会在那儿留下笔记。我建议删除lazy修饰符并初始化compoundKey为空字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Hibernate批注:具有共享复合键属性的多对多

具有复合外键的实体框架导航属性

可选属性的 Realm Swift 复合键

删除具有外键延迟加载属性的实体,该实体尚未在实体框架6中加载

realm.io中具有多个键列的对象

具有复合键的地图/访问实体

具有继承的EntityFramework复合外键

具有复合键要求的表设计

实体框架中具有导航属性的延迟加载的逻辑

SQL Server性能:具有外键约束的复合键

在 SQL 中,一个表可以同时具有主键 + 复合键吗?

具有复合键的android房间中的实体中不存在主键

带有复合密钥问题的NHibernate延迟加载属性(SQLite中的工程在SQL Server 2008中不存在)

JPA / Hibernate-具有外键的复合主键

mysql创建具有不同数据类型的复合键

具有复合键和通配符的Java泛型

JPA和Hibernate-具有外键的复合主键

具有以下情形的复合主键或主代理键?

原则:具有复合键的实体之间的ManyToX关系

具有复合键的自定义EF Core AddOrUpdate

EF Core中带有复合键的外键

在DB2中具有一个可为空的列的复合唯一键

具有目标的JSF复合标签通配符属性

JPA中的复合键

EF中的复合键

MUC历史消息的延迟元素中的“ from”属性具有乘员ID,而不是房间ID

将具有相同键的多个对象的内容与该键作为 JavaScript 中的属性组合

在ImageView中具有延迟android的动画

外键可以引用具有复合键(即两列的组合)的表吗?