4

我試圖獲得MVC體系結構的掛起。假設我有一個plist,裏面有一個人名單,每個人都有幾個屬性,比如姓名,地址和照片。假設 我想在表格視圖中顯示這些詳細信息。單元格標題將是名稱,描述將是地址,左側的圖像將是該人員的照片。示例代碼說明了iOS中的MVC體系結構

一種方法,我可以採取的是加載的plist在陣列的-字典在我viewDidLoad中:然後顯示出來。

不過,我想通過創建「人」類採用面向對象的方法。在這種情況下我如何去做同樣的事情?我相信我可以從創建具有三個屬性的'人'類開始:姓名,地址,照片。接下來是什麼?我需要這個'Person'類的許多實例嗎?我將如何用plist中的相應人員條目「加載」每個實例?我應該創建另一個類來做這個「加載」嗎?人們使用Singleton類來實現他的?

有人可以分享一些示例代碼示例來說明這一點嗎?或者,也許引導我談論這個博客/資源?

回答

4

嗯,我想你已經在想這個了。我只會創建一個能處理我的人的類,在這種情況下,你的'人'類。

我會簡單地存儲每個使用核心數據的人。然後,當顯示它們的時候,我只會發出一個抓取請求,並將所有人員管理的對象存儲到一個NSMutableArray(它只是處理對象數組)中。然後,您可以簡單地使用索引值在tableView中顯示數組中的衆多人員。

總之我想:

1. For every person, create instance of Person. 
2. Verify if person exists in my Core Data Person Entity. 
3. If not, then insert into Core Data (the object will become an 
NSManagedObject). 
4. For displaying, simply do a fetch request to pull all persons in your 
entity. Here I prefer to store the 
results into an NSMutableArray, but 
that is completely up to you. Make 
sure you release your fetch request 
after the results are store in the 
array. 
5. Reference them to your table view using the index value for each 
person NSManagedObject in the array. 

對於一些不涉及存儲簡單:

1. Create instance of Person for every entry. 
2. Add Person object to array. 
3. Reference each Person to table view using index value. 

到底該拿你將你想要做什麼來決定的方法與信息。

至於閱讀的plist,我會選擇讀取XML爲所有你需要的是一個XML解析器類(有用於解析器幾個選項)。由於我沒有做任何事情,只是解析XML,所以我使用NSXMLParser,但這個選擇也取決於您。只需創建一個NSXMLParser類(確保解析器在分析器中找到給定元素時的不同操作)。所以,是的,您需要添加NSXMLParser來處理每個元素。這聽起來很簡單。

此外,通過在覈心數據存儲,您可以隨時獲取沒有你使用辛格爾頓的信息。