2013-07-25 19 views
0

我有一個NSTableView,並將我的陣列控制器綁定到它。陣列控制器綁定到我的管理對象上下文。當我啓動我的應用程序時,NSTableView中的所有東西都能正常工作,但TableView中的對象會隨機重新排列。例如,[1,2,3]的順序會突然變爲[3,1,2],偶爾會發生這種情況。我希望它能保持它們在製作時的順序。我該如何停止重新安排?停止自動排列核心數據對象

enter image description here

enter image description here

+0

我不是很熟悉NSArrayController,但根據文檔,你可以添加一個*排序描述符*。 –

+0

是否有可能添加一個排序描述符,只是告訴它按照我放置它的方式排序(我添加更多行時的順序)? –

回答

0

在CoreData數據存儲中的行沒有排序!如果您想按創建日期查看它們,則需要將自己的時間戳添加到每個對象,並將排序描述符傳遞給獲取請求。

編輯:如果您使用SQLite作爲您的CoreData存儲,我建議查看SQLite文件。這會給你一個關於CoreData如何工作的想法,並解釋爲什麼某些事情(如無序行)是這樣的。

P.S.我使用Base來檢查SQLite數據庫。這不便宜但很好。

+0

謝謝,但我如何添加時間戳?添加「Date」類型的「creationData」屬性嗎?或者我如何按照我的時間戳來組織它。 –

+0

是的,創建一個date類型的新屬性,並用'[[NSDate alloc] init]'初始化它,以接收包含當前日期和時間的日期對象。 – Paul