2010-10-05 56 views
0

對iOS開發很新穎,我覺得我掌握了基本知識。我正在考慮通過我想要製作的應用程序以及涉及的步驟,所需的組件......我不知道如何或者什麼是保存用戶輸入並檢索它的最佳方法。iOS/ObjC,存儲用戶輸入並檢索它

一個例子是(我不打算做這件事,但它說明了我想知道的),說一個簡單的待辦事項列表,它具有從NSMutuableArray填充的NSTableView,首先它是空白的因爲用戶沒有添加任何內容。一旦一個項目被添加到數組中,表格重新加載得益於-reloadData。表中顯示了需要做的項目。非常適合本次會議...但是當應用程序重新打開時不會。

我想我需要存儲數組,然後在應用下次初始化時重新加載它,這是正確的嗎?

或者還有其他更好的方法嗎?

回答

3
+0

謝謝,由於某種原因,我想CoreData只是OSX,我一直在閱讀的書籍沒有提到它。 – S1syphus 2010-10-05 13:58:07

+0

它們可能是在3.0版本的iOS中引入CoreData之前編寫的。 – Jasarien 2010-10-05 14:01:40

+1

如果您啓動Xcode並要求它創建一個新的基於導航的應用程序並勾選「使用核心數據」複選框,那麼它爲您提供的框架應用程序大約有50%。 – JeremyP 2010-10-05 14:55:54

2

除了喬丹的答案,主要是爲了完整性,所以你明白你的選擇。你至少有另外兩個選擇:

這兩個概念相比,是容易適當的關係數據庫來了解和更簡單的東西值得考慮特別是因爲TODO列表不可能包含大量數據。

屬性列表是easies t和最基本的功能。它只是讓你存儲原語,但如果你的TODO列表只是一個字符串的集合,那就好了。

使用NSCoding的過濾功能功能更強大,但需要開發人員進行更多的工作。使用NSCoding,您可以爲您的業務對象創建自己的編碼器/解碼器,從而讓您堅持整個狀態。這將是很好的,如果你有自己的待辦事項具有很多屬性,如標題,優先權,完整的日期等

+0

這些都是有效的,但是當你從TODO列表轉到更復雜的事情時,你會想知道Core Data如何幫助你更容易地讓程序員工作。我的第二個選擇是NSCoding。但NSCoding更適合中級程序員。物業名單,你想知道現在,只是讓你知道如何閱讀和儲存plists。但是,如果你剛剛開始使用Core Data是一條路。你將會學到很多關於編程經歷的過程。 – Jordan 2010-10-05 16:16:54

+0

@Jordan - 我不認爲你的回答是錯誤的,我只是列出了選項:) – willcodejavaforfood 2010-10-05 16:28:41

+0

並不意味着聲音的防禦;) – Jordan 2010-10-05 17:00:16