我对使用领域数据库感到新鲜。我看了一下realm文档,然后找到了一个RLMObject类方法
attributesForProperty:
我不明白它在做什么。
你可以解释我,并且需要使用它。
感谢您的帮助。
答案 0 :(得分:1)
您可以在实体类中覆盖此方法,该类继承自RLMObject
以指定属性方面的附加属性,这些属性会影响数据库的架构和行为。目前,您唯一的选择是否有财产被编入索引。
假设您有一个类似于文档中的模型类:
@interface Dog : RLMObject
@property NSInteger age;
@property NSString *name;
@end
自0.91.0发布以来,它是easier to define indexed properties。如果您希望将name
列编入索引,那么您可以通过覆盖此处的类方法来实现此目的。
+ (NSArray *)indexedProperties {
return @[@"age", @"name"];
}
在此版本之前,您可以指定索引列,如下所示:
+ (RLMPropertyAttributes)attributesForProperty:(NSString *)propertyName {
RLMPropertyAttributes attributes = [super attributesForProperty:propertyName];
if ([propertyName isEqualToString:@"name"]) {
attributes |= RLMPropertyAttributeIndexed;
}
return attributes;
}