OStack程序员社区-中国程序员成长平台

标题: ios - 从 Realm 的子类调用 [super defaultPropertyValues] 是一种好习惯吗? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:12
标题: ios - 从 Realm 的子类调用 [super defaultPropertyValues] 是一种好习惯吗?

我的问题不仅涉及 + (NSDictionary *)defaultPropertyValues 方法,还涉及 + (NSArray *)ignoredProperties+ (NSArray *)indexedProperties

例如:

//.h - file
@interface A : RLMObject
@property NSString propertyA;
@end

//.m - file 
@implementation A
+ (NSDictionary *)defaultPropertyValues {
      return @{@"propertyA"""};
}
@end

比我定义的B类继承形式A

//.h - file
@interface B : A
@property NSString propertyB;
@end

//.m - file 
@implementation B
+ (NSDictionary *)defaultPropertyValues {
   NSMutableDictionary *defaultValues = [[super  defaultPropertyValues]mutableCopy];
  [defaultValues setObject"" forKey"propertyB"];
  return defaultValues;
@end    



Best Answer-推荐答案


(免责声明:我为 Realm 工作。)

如果您只是将 RLMObject 子类化,则无需在这些类方法上调用 super

话虽如此,在您的情况下,您随后将继承 RLMObject 的子类,那么是的,这绝对是确保您不会破坏父类。

我个人认为这是一种很好的做法,因为这意味着您不会在这些方法中创建冗余信息(即,如果您更改了类 A、类 B 中的任何内容) 就可以了)。

关于ios - 从 Realm 的子类调用 [super defaultPropertyValues] 是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32296642/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4