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

时间:2015-11-12 14:12:52

标签: ios realm

我想在方法中收集一些数据。 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;
}

问题:菜肴阵列总是零。

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

1 个答案:

答案 0 :(得分:4)

1 <---- at time t 1 . . 1 3 <--- at time t+3 sec 是一种容器类型,它主要用于存储Realm对象上的多对多关系,并且在您分配之前,您不会获得任何收集优化它是一个对象,这就是为什么Realm不允许直接初始化RLMArrayRLMArray+newdocs中列为不可用的原因。

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