2016-08-04 27 views
0

斯威夫特使用領域(我仍在使用該版本只是1.x版前):查詢列表哪裏有項目/對象境界

我有這個類

class Event: Object { 
    dynamic var id: String = "" 
    dynamic var title: String? = nil 
    dynamic var creator: User? 
    let members = List<User>() 
} 

我怎樣才能找到所有事件與成員「用戶A」(我有用戶A的ID)。

我想是這樣的,但並沒有真正的工作:

let predicate = NSPredicate(format: "ANY members.id == %@", userA.id) 
eventsWithUserA = realm.objects(Event).filter(predicate) 

回答

0

如果你使用的不是最新版本,希望你至少使用0.100或更高版本。如果是這樣,你可以使用域的inverse relationships功能來做到這一點:

class User: Object { 
    let events = LinkingObjects(fromType: Event.self, property: "members") 
} 

實施之後,user.events將返回每Event對象,其中的user對象在其members財產的List

let eventsWithUserA = userA.events 

希望這應該消除手動執行查詢所需的全部功能。

讓我知道如果這不適合你!