2013-08-23 15 views
1

我正在尋找建立一個報告系統,它將有報告的罐頭和用戶創建的報告,每個報告我需要的名稱,描述和信息,它將包含下面是一個結構我jsonlint代表所有數據的單一報告稱爲「審查進度」(在固定報告結構內)將需要。Obj-C/iOS是像plist那樣的數據結構還是像coredata那樣更容易使用?

{ 
"Canned": [ 
    { 
     "Name": "Review Progress", 
     "Description": "Quick Look at ...", 
     "Contents": { 
      "Collections": [], 
      "Filters": [], 
      "Facets": { 
       "Review Status": [ 
        { 
         "Reviewed": { 
          "value": "300", 
          "enabled": "true" 
         } 
        }, 
        { 
         "Not Reviewed": { 
          "value": "150", 
          "enabled": "false" 
         } 
        } 
       ] 
      } 
     } 
    } 
] 

}

我在這裏找錯了樹通過建立一系列的字典和數組作爲訪問它裏面的物品用於設置的tableview將開始是這個樣子?

cell.textLabel.text = self.reports[indexPath.section][@"Reports"][indexPath.row][@"Name"]; 

有人會建議一種不同的方法,如coredata /某種數據庫,而不是輕鬆?我問,用戶將能夠創建自己的報告,而這些報告必須具有相同的數據。

+0

我說.plist很好,即使'NSUserDefaults'也能工作。使用.plist,您可以放入Documents文件夾並啓用iCloud同步。 –

+0

這取決於你打算如何處理數據。更大的數據集和/或複雜的操作(排序,過濾,添加刪除,編輯等)可能會更好地適應核心數據。這個答案有一些很好的指導方針:http://stackoverflow.com/a/1883957/620197 –

回答

2

一個快速的方法應該是使用JSON Accelerator(免費) 來生成您的JSON的對象模型。

然後由該儲存庫提供的類別添加到你的「頂部」生成的類模型:

https://github.com/psineur/NSObject-AutomagicCoding

容易地加載/保存的字典表示(即plist中/ JSON結構化數據)到文檔文件夾

這將是比

cell.textLabel.text = self.reports[indexPath.section][@"Reports"][indexPath.row][@"Name"]; 

完全一樣的,但在我看來,更清潔日anks to object models