2017-10-20 67 views
1

我有关于同一主题的3个问题:主键是否也是Realm中的必需属性?

  1. 我怎样才能防止节省的目的是境界与零的PrimaryKey?
  2. Realm中的primaryKeys是隐式需要的属性吗?
  3. 以下哪一项属实?

1.option:

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

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

2.option:

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

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

回答

2

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

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