Bevor ich meine eigene Warteschlange mit NSMutableArray
verwalte, möchte ich wissen, ob etwas mehr Standard verfügbar ist. Ich sehe nichts in den Apple-Dokumenten, aber ich bin überrascht, wenn es keine Queue-Implementierung von irgendwo gibt, die Leute verwenden. Java verwöhnt mich!
Die Implementierung einer Warteschlange basierend auf NSMutableArray
ist ziemlich einfach, es ist wahrscheinlich unter 50 Codezeilen.
BEARBEITEN:
Gefunden mit einer schnellen Google-Suche:
%Vor%Cocoa selbst hat keine Queue-Klasse, und es gibt keinen Standard per se, aber es gibt mehrere Optionen, von denen eine am besten zu Ihren Bedürfnissen passt. Siehe diese Frage (und meine Antwort ).
Wie Sie bereits gesagt haben, können Sie Ihre eigenen mit NSMutableArray rollen. Wenn Sie nur eine schnelle Warteschlange benötigen (und sich keine Gedanken über Kopieren, Encodierung / Decodierung, Aufzählung usw. machen), dann ist die Lösung, die @Matt vorschlägt, ein einfacher Ansatz. Sie sollten auch Warteschlangenmethoden zu NSMutableArray
über eine Kategorie hinzufügen , was schön ist, dass Ihre "Warteschlange" ist Auch ein Array (so können Sie es für NSArray-Parameter übergeben), und Sie erhalten alle NS (Mutable) Array-Funktionalität kostenlos.
Wenn Leistung wichtig ist, empfehle ich die Verwendung einer Struktur, die besser geeignet ist, das erste Element zu entfernen. Ich habe aus diesem Grund CHCircularBufferQueue für mein eigenes Framework geschrieben. (Ich versuche nicht, mein eigenes Horn zu machen, versuche nur, anderen Zeit zu ersparen.)
Sie können die STL-Warteschlange aus der C ++ - Standardbibliothek verwenden.
Sehen Sie sich die STL-Prioritätswarteschlange an. Es erfordert null Zeilen Code und es ist tragbar! Was willst du mehr?
Tags und Links iphone queue data-structures