【问题标题】:RLMResults to NSArray conversion in iosios中的RLMResults到NSArray的转换
【发布时间】:2016-06-07 04:29:38
【问题描述】:

如何在objective C中将RLMResults数据放入NSArray,请给我建议。

【问题讨论】:

  • 你必须遍历 RLMResults 来创建一个数组 ....
  • 谢谢 El Captain,它工作正常......

标签: ios iphone realm


【解决方案1】:

正是 El Captain 所说的。无法自动将RLMResults 对象转换为NSArray;你必须自己做。

RLMResults *results = ...;
NSMutableArray *array = [NSMutableArray array];
for (RLMObject *object in results) {
   [array addObject:object];
}

话虽如此,您应该问问自己这是否真的有必要。 Realm 通过RLMResults(例如,仅在访问时延迟加载数据)提供了许多强大的底层优势,当您将它们转换为NSArray 时,这些优势就会丢失。建议您保留 RLMResults 对象并尽可能多地使用它,并仅在您真正需要时转换为 NSArray

【讨论】:

  • 你是对的。如果您想充分利用 Realm,使用 RLMResults 比使用 NSArray 更有益。虽然,有些情况就像我现在面临的那样,我必须在我们的应用程序中添加领域支持,而修改我们许多文件的数据源的后果可能需要我数周才能解决。我不确定 OP 是否面临同样的问题,但如果他不是,请一路 RLMResults
  • 我觉得我必须转换为NSArray。我想用一个块对结果进行排序。
  • 首先我赞成你的回答,因为它看起来不错。Tim 如何将 NSArray 更改或转换为 RLMResult?我试过但它作为 NSArray 对象而崩溃了。
  • 如何将 NSArray 更改为 RLMResults?
  • 你不能。 RLMResults 由保存到磁盘的 Realm 对象组成,只能从查询中检索。你不能自己创建它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
  • 1970-01-01
  • 2012-08-31
  • 2016-12-18
相关资源
最近更新 更多