2012-04-13 68 views
2

通過我的第一個Cocoa OS X項目工作,我抓住遠程XML數據並將對象存儲在NSMutableArray中。NSArrayController vs NSMutableArray - 你什麼時候使用NSArrayController?

今天當我在項目中第一次打開IB時,我發現了對象NSArrayController。

相當基本的問題 - 我什麼時候可以使用一個呢?我是而不是在我的應用程序中使用TableView,我讀的大部分內容都是關於將它綁定到tabel視圖。

雖然我在數組中添加/刪除/修改對象,但我正在做一些數組操作。對彼此有利嗎?

+0

如果您需要支持[bindings](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaBindings/CocoaBindings.html#//apple_ref/doc/uid/10000167i),那麼使用'NSArrayController',否則使用'NSMutableArray'。 – Joe 2012-04-13 18:47:00

+0

如果你不需要可可綁定,那麼使用NSMutableArray - NSArrayController和NSMutableArray是完全不同的東西;閱讀可可綁定! – Vervious 2012-04-13 19:11:56

回答

0

用你所描述的,創建一個自定義的數據類。因此,該類的每個對象都可以操縱數據,但是每個對象都表示一個數據記錄。現在,如果你想顯示你的數據,然後子類nsarraycontroller並綁定到此。該控制器可以設置爲使用自定義數據類。如果你在內部使用這些數據,只需要安裝許多你想使用的NSSet即可。我推薦NSSet,因爲它保證了唯一性。

希望這會有所幫助。

P.S. NSMutableSet也存在。