使用RLMArray而不进行初始化是不可能的?

bra*_*ray 5 realm ios

我想在一个方法中收集一些数据.在RLMArray将被用作一对多的关系如menu.dishes

+ (RLMArray<Dish> *)parseDishesFromDictionary:(NSDictionary *)resultDictionary {

NSArray *menuDishes = (NSArray*)resultDictionary[@"menuDishes"];

RLMArray<Dish> *dishes;
for (NSDictionary *menuDishDictionary in menuDishes) {
    Dish *dish = [self getDishGetDishfromDictionary:menuDishDictionary];
    [dishes addObject:dish];
    }
return dishes;
}
Run Code Online (Sandbox Code Playgroud)

问题:碟子阵列总是零.

这真的不可能,就像这个问题的答案所暗示的那样?

jps*_*sim 5

RLMArray是这大多只是有用的存储一对多的领域对象的关系的容器类型,直到你它分配给对象,这就是为什么不允许境界直接初始化你没有得到任何收集优化的RLMArray+new-init有在docs中列为不可用)。

因此,您的parseDishesFromDictionary方法应返回NSArray<Dish *>,然后可以RLMArray使用将其添加到属性中-addObjects