2

Ich arbeite mich durch eines meiner ersten Cocoa OS X-Projekte, wo ich Remote-XML-Daten erhalte und Objekte in einem NSMutableArray abspeichere.NSArrayController vs NSMutableArray - Wann verwenden Sie einen NSArrayController?

Heute, als ich IB zum ersten Mal im Projekt geöffnet habe, habe ich das Objekt NSArrayController entdeckt.

Ziemlich grundlegende Frage - Wann würde ich eine über die andere verwenden? Ich bin nicht mit einem TableView in meiner Anwendung und die meisten Dinge, die ich lese sprechen über die Bindung an eine Tabellenansicht.

Ich mache ein wenig Array-Manipulation, obwohl ich Objekte aus dem Array nach Belieben hinzufügen/entfernen/ändern. Gibt es einen Vorteil gegenüber dem anderen?

+0

Wenn Sie [Bindings] unterstützen müssen (http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaBindings/CocoaBindings.html#//apple_ref/doc/uid/10000167i) dann Verwenden Sie 'NSArrayController', andernfalls' NSMutableArray'. – Joe

+0

Wenn Sie keine Kakaobindungen benötigen, verwenden Sie NSMutableArray - NSArrayController und NSMutableArray sind völlig verschiedene Dinge; Lesen Sie mehr über Cocoa Bindings! – Vervious

Antwort

0

Erstellen Sie mit dem, was Sie beschrieben haben, eine benutzerdefinierte Datenklasse. Jedes Objekt dieser Klasse bearbeitet also die Daten, die Sie benötigen, und jedes Objekt stellt eine Aufzeichnung von Daten dar. Jetzt mit diesem, wenn Sie Ihre Daten zeigen möchten, dann Unterklasse nsarraycontroller und an diese binden. Dieser Controller kann so eingerichtet werden, dass er die benutzerdefinierte Datenklasse verwendet. Wenn Sie die Daten intern verwenden, installieren Sie einfach so viele, wie Sie möchten, und verwenden Sie NSSet. Ich empfehle NSSet, weil es die Einzigartigkeit garantiert.

Hoffe, das hilft.

P.S. NSMutableSet ist ebenfalls vorhanden.

Verwandte Themen