Realm'ın henüz farklı sorguları tam olarak desteklemediğini öğrendim. İyi haber şu ki, bu github issue numaralı telefondan bunun için bir geçici çözüm buldum.
RLMResults *messages = [Message allObjects];
NSMutableArray *uniqueIDs = [[NSMutableArray alloc] init];
NSMutableArray *uniqueMessages = [[NSMutableArray alloc] init];
for (Message *msg in messages) {
NSString *jabberID = msg.jabberID;
Message *uniqueMSG = (Message *)msg;
if (![uniqueIDs containsObject:jabberID]) {
[uniqueMessages addObject:uniqueMSG];
[uniqueIDs addObject:jabberID];
}
}
Swift Swift onu vardır ve Diyar tembel yükleri beri 3,0
let realm = try! Realm()
let distinctIDs = Set(realm.objects(Message.self).value(forKey: "jabberID") as! [String])
var distinctMessages = [Message]()
for jabberID in distinctIDs {
if let message = realm.objects(Message.self).filter("jabberID = '\(jabberID)'").first {
distinctMessages.append(message)
}
}
AllObjects 'Results' koleksiyonunu döndürüyor mu? – ricardopereira
Evet, tüm nesnelerin bir Sonuç topladığını döndürür. –
Anladım, o zaman bu yaklaşım tembel değerlendirmeyi "Sonuçlar" dan kaybedecek. – ricardopereira