[英]RLMArray - retrieve Array from Object
我的模特:
轉化率
#import <Realm/Realm.h>
#import "ConvText.h"
@interface Conv : RLMObject
@property NSInteger c_id;
@property RLMArray<ConvText> *cts;
@end
轉換文本
#import <Realm/Realm.h>
@interface ConvText : RLMObject
@property NSInteger ct_id;
@property NSInteger time;
@end
RLM_ARRAY_TYPE(ConvText)
當我嘗試從Conv中提取ConvTexts時:
Conv *c = [Conv objectsWhere:@"c_id = %@",@(1)];
ConvText *ct = [c.cts arraySortedByProperty:@"time" ascending:NO][0]; <--
我收到此消息: “ RLMException”,原因:“只能在從RLMRealm檢索的RLMArray實例中調用此方法”
我也這樣嘗試:
RLMArray *cts = c.cts;
ConvText *ct = [cts arraySortedByProperty:@"time" ascending:NO][0];
之所以會出現此錯誤,是因為在后台查詢結果和關系是兩種不同類型的實體,即使它們是通過同一類(RLMArray)公開的。 在這種情況下,您要在Relationship上調用Query方法(arraySortedByProperty),該方法僅在Query結果上可用,盡管我們當然也應該考慮將其添加到Relationships中!
我們計划通過
同時,很遺憾,您必須將RLMArray復制到NSArray並進行排序:(我們知道它很爛,但是我們只是獲得了在C ++級別對關系進行重新排序的支持,因此我們將在下一版本中修復該問題。 (0.86)
我們的錯誤消息也應該更加明確-我們將盡快修復它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.