我有一個非常簡單的項目,包含一個NSTableView與3列和按鈕添加新行,刪除行和保存數據。是NSTableVIew綁定到NSArrayController不保存更改
對於這個項目,我想的值保存到NSUserDefaults的DB和做這一切,沒有編碼的目的,所以IB連接和性能如下:
新增通過IB陣列控制器對象。其控制器內容綁定到共享用戶默認值控制器(控制器鍵:值,模型鍵路徑:myvalues),將內容作爲複合值處理。
添加設置爲具有3列,並設置爲基於視圖的表格視圖。
對於表視圖本身,它的內容被綁定到陣列控制器(控制器密鑰arrangedObjects)及其選擇性指標篩選結合到陣列控制器(控制器密鑰selectionIndexes)
對於表的每一列,表視圖單元格項(鏈中的第三個)Value綁定到Table Cell View(控制器鍵爲空,模型鍵路徑設置爲objectValue.xxxx,其中xxxx是該列的任意名稱字符串);行爲屬性也設置爲「可編輯」。
將添加行和刪除行按鈕發送操作連接到陣列控制器添加和刪除方法,並將保存按鈕發送操作鏈接到共享用戶默認值保存方法。
當我運行項目時,我最初可以「添加」,輸入列的值,單擊保存,結束執行,當我重新運行它時顯示數據。但是,如果我然後嘗試更改任何數據,則更改將不會保留。如果我添加額外的行,並輸入數據不保留(行將在那裏,只是空的)。刪除行按預期工作。 (注:另外,如果我加入的初始執行幾行,只有第一個將不得不在後續執行數據)
我的問題是:爲什麼不將數據更改(第一後)工作?似乎有某個地方有一個缺失的圖層。
我創建了第二個項目,與第一個非常相似,但指定了基於單元格的表格而不是基於視圖;對於表視圖,NO綁定也更簡單,但直接將表單元格Value綁定到Array控制器。這個項目完美運作。單元格數據可編輯,進入新的行數據等
任何幫助,將不勝感激
複製http://stackoverflow.com/q/27308592/1312143我回答,雖然我從來沒有聽說過回如果我的回答工作的。試試看看。 – 2015-03-02 22:59:58
感謝您的迴應;因爲我的目標是在沒有任何編碼的情況下做到這一點,我想我現在只需堅持基於單元格的表格。如果我將來嘗試你的方法,會讓你知道它是否有效。 – user2132980 2015-03-03 14:16:12