【问题标题】:Should a primary key be also a required property in Realm?主键是否也应该是 Realm 中的必需属性?
【发布时间】:2017-10-20 20:01:52
【问题描述】:

我有 3 个关于同一主题的问题:

  1. 如何防止使用 nil primaryKey 将对象保存到 Realm?
  2. Realm 中的 primaryKeys 是否隐式需要属性?
  3. 以下哪一项是正确的?

1.选项:

+ (NSString *)primaryKey {
    return @"myUniqueID";
}

+ (NSArray<NSString *> *)requiredProperties {
    return @[@"myUniqueID", @"name", @"surname"];
}

2.选项:

+ (NSString *)primaryKey {
    return @"myUniqueID";
}

+ (NSArray<NSString *> *)requiredProperties {
    return @[@"name", @"surname"];
}

【问题讨论】:

    标签: ios objective-c realm


    【解决方案1】:

    在可空性方面对主键没有特殊处理。如果您的主键是默认可以为空的类型(即NSString),那么nil 是该主键的有效值。但是请注意,由于主键必须唯一的约束,只能使用 nil 主键存储单个对象。

    如果您希望NSString 主键不为零,则应将其包含在+requiredProperties 返回的数组中。

    【讨论】:

      猜你喜欢
      • 2020-02-14
      • 2021-02-24
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多