Ich versuche, eine Art "Top 25" -Liste in meiner App zu erstellen. Ich habe NSPredate verwendet, um den Inhalt des Array-Controllers zu filtern, aber ich möchte die Anzahl der Ergebnisse auf nur 25 Objekte beschränken. Wie könnte ich das tun?Begrenzung der Anzahl der Objekte in NSArrayController
0
A
Antwort
2
Eine andere Strategie wäre, NSArrayController abzuleiten und arearchedObjects zu überschreiben, um so etwas wie [[super arrangedObjects] subarrayWithRange:NSMakeRange(0, 25)];
zurückzugeben (Sie würden wahrscheinlich zuerst die Länge des Arrays überprüfen wollen). Natürlich wäre dieser Array-Controller nur für die Top 25 und nirgendwo sonst in Ihrer Anwendung geeignet.
3
hinzufügen Sortieren Deskriptoren auf die gleichen Array-Controller gesetzt seine Auswahl Indizes auf den Bereich { 0, 25 }
, dann binden (oder direkter Zugriff) entweder in seinem oder ihre selection
selectedObjects
.
Diese Lösung funktioniert, aber der Array-Controller macht mehr Arbeit als nötig. Denken Sie daran, Milliarden von Objekten mit Millionen von Übereinstimmungen zu durchsuchen, während Sie nur die ersten 25 Übereinstimmungen benötigen. – Ethan