W moim RealmSwift (0.92.3) pod Xcode6.3, jak bymRealm data-query
// the Realm Object Definition
import RealmSwift
class NameEntry: Object {
dynamic var player = ""
dynamic var gameCompleted = false
dynamic var nrOfFinishedGames = 0
dynamic var date = NSDate()
}
Obecny tableView znajdzie liczbę obiektów (czyli obecnie wszystkie obiekty), jak następuje:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if let cnt = RLM_array?.objects(NameEntry).count {
return Int(cnt)
}
else {
return 0
}
}
Pierwsze pytanie: Jak znaleźć liczbę obiektów z datą po, powiedzmy, dniu 15.06.2014? (np. zapytanie o datę powyżej określonej daty z obiektu RealmSwift - jak to działa?). Lub innymi słowy, w jaki sposób powyższa metoda znajdzie liczbę obiektów o wymaganym zakresie dat?
Skuteczne wypełnienie wszystkich Realm-obiektów w Tableview wygląda następująco:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("NameCell") as! PlayersCustomTableViewCell
if let arry = RLM_array {
let entry = arry.objects(NameEntry)[indexPath.row] as NameEntry
cell.playerLabel.text = entry.player
cell.accessoryType = entry.gameCompleted ? .None : .None
return cell
}
else {
cell.textLabel!.text = ""
cell.accessoryType = .None
return cell
}
}
Drugie pytanie: Jak wypełnić do Tableview tylko RealmSwift-obiektów, które mają określoną datę (czyli na przykład wypełnianie tylko obiektów, które mają ponownie datę powyżej 15.06.2014). Lub innymi słowy, w jaki sposób powyższa metoda wypełniaby tylko tabelę Wyświetl obiekty o wymaganym zakresie dat?