gpt4 book ai didi

ios - 从 Realm 的子类调用 [super defaultPropertyValues] 是一种好习惯吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:58:03 25 4
gpt4 key购买 nike

我的问题不仅涉及+ (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

最佳答案

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

如果您只是对 RLMObject 进行子类化,则没有必要在这些类方法上调用 super

话虽这么说,在您的情况下,您随后对 RLMObject 的子类进行子类化,那么是的,这绝对是确保您不会破坏父类。

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

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com