2014-09-19 46 views
0

我想創建一個非常簡單的窗口來顯示來自Sqlite3數據庫的項目列表。我有我的對象的通用列表,我想將它綁定到窗口上的控件。做這個的最好方式是什麼?綁定列表到NSArrayController在NSTableView中使用

如果是.NET窗體,我會這麼做,Cocco是什麼? myBindingSource.DataSource = new List<MyObject>();

我ViewController.cs代碼目前看起來是這樣的:

List<MyObject> dataSource = DataStore.GetLibraries(); public override AwakeFromNib() { base.AwakeFromNib(); dataSource = GetMyObjects(); myArrayController.Bind("contentArray", this, "dataSource", null); // Throws error }

但是,這將引發一個錯誤:這個類不是鍵值編碼兼容的關鍵數據源。

謝謝!

回答

0

將libsqlite3.dylib鏈接到您的框架(常規:鏈接的框架和庫)並將數據庫文件添加到您的項目後,您將創建一個sqlite訪問器類,以執行數據庫連接並啓用查詢。

如果您的項目也應該保存到數據庫中,那麼在安裝時,數據庫必須放置在您還有寫入權限的位置,這將位於iphone的「文檔」文件夾中或位於「應用程序支持「在MacOS X上,但不在應用程序束本身。 (注意不要弄亂所有者名稱,否則只有root用戶或者你有寫入權限,而你的客戶不會)

要將你的查詢結果連接到似乎是你問題核心的數組控制器,查詢的輸出需要根據蘋果的KVC規則進行格式化。這是通過創建一個NSDictionary(包含對象和鍵)並設置數組控制器從這個字典中讀入來完成的。

從我從哪裏得到這個工作在我自己的項目鏈接不幸已被刪除,但我找到了兩個教程,給你必要的函數調用,如果你覺得你需要更多的細節: a )爲sqlite連接:http://www.techotopia.com/index.php/An_Example_SQLite_based_iOS_4_iPhone_Application_(Xcode_4) b)用於連接NSArrayController與字典: http://ihoneylocust.wordpress.com/2013/02/19/first-mac/

相關問題