gpt4 book ai didi

ios - Realm.io 数组创建

转载 作者:行者123 更新时间:2023-11-28 19:01:24 24 4
gpt4 key购买 nike

用其他 RLMObject 数组实例化 RLMObject 的正确方法是什么?

文档没有提及任何内容,我最初的尝试(什么都不做,假设 Realm 做了正确的事情并创建了一个空数组并在我建立第一个关系时分配它似乎不起作用。

这是我的代码:

[[RLMRealm defaultRealm] beginWriteTransaction];
[_realmAnswers removeAllObjects];
NSMutableArray* newArray = [NSMutableArray arrayWithCapacity:answers.count];

for (NSString* answerString in answers){
OFEAnswerEntry* newAnswer = [[OFEAnswerEntry alloc] init];
newAnswer.answerString = answerString;
[newArray addObject:newAnswer];
}

[_realmAnswers addObjectsFromArray: newArray];
[[RLMRealm defaultRealm] commitWriteTransaction];

最佳答案

RLMArray 上使用 addObjectsFromArray: 方法:

ArrayPropertyObject *obj = [ArrayPropertyObject createInRealm:realm withObject:@[@"arrayObject", @[], @[]]];
StringObject *child1 = [StringObject createInRealm:realm withObject:@[@"a"]];
StringObject *child2 = [[StringObject alloc] init];
child2.stringCol = @"b";
[obj.array addObjectsFromArray:@[child2, child1]];

此代码直接取自 unit test在 realm-cocoa 中。

您还可以用更少的代码行来做到这一点:

NSArray *stringObjects = @[
[[StringObject alloc] initWithObject:@[@"a"]],
[[StringObject alloc] initWithObject:@[@"b"]]
];
[ArrayPropertyObject createInRealm:realm withObject:@[@"arrayObject", stringObjects, @[]]];

关于ios - Realm.io 数组创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24940214/

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