上文完成後,“微博關注人”這個應用雖然距離最終的完成還有不小的距離,但從視覺上已經比演練(1)完 成時有了不小的改進。:]
細心的朋友們在上次演練中已經發現,我們定義的資料結構中,有一個名為“類別”的欄位, 這個欄位的設定主要用於協助我們更好地管理我們的關注對象。本文演練僅僅涉及一個問題,就是如何按照 “類別”在表格中分區段顯示資料。本此演練之後,相信您會對iOS中的數組(NSMutableArray)和 plist檔案的使用也會有一個新的理解。
一. 開始之前
開始之前,我們需要簡單回顧一下上一次的一些內容,這樣便於我們演練的開始。
1. 在FocusUsers.plist檔案中順序存放所有關注使用者的資料;
2. 我們定義了一個名為JOYFocusUser的類來存放每個使用者的資訊;
3. 我們在視圖控制器中用到了一個NSMutableArray數組存放plist檔案內容,並通過JOYFocusUser類做為 映射,便於程式編寫過程中的訪問。
那麼現在問題出來了——從plist檔案中載入過來的資料是一個序列的,而分區段顯示資料時, 單一序列的數組顯然有些難以勝任,這個時候我們需要做一個中轉。如下圖所示:
如果我們從上一講中的單一序列,變成有圖所示的二維序列問題似乎就好解決了。:]
好,思路有了,現在讓我們馬上動手。
二. 資料調整
1. 在導航地區,點擊“FocusUsers.plist”檔案,開啟我們上次演練中建立的plist檔案;
2. 在“FocusUsers.plist”上點擊滑鼠右鍵,選擇“Open As”“Source Code”,並使用下列代碼替換我們上次使用的plist內容:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"> <array> <array> <dict> <key>UserName</key> <string>愛Apps</string> <key>Image</key> <string>愛Apps.jpeg</string> <key>WebSite</key> <string>http://weibo.com/iapps</string> <key>Favorite</key> <real>3.5</real> <key>Category</key> <string>蘋果諮詢</string> </dict> <dict> <key>UserName</key> <string>蘋果匯</string> <key>Image</key> <string>蘋果匯.jpeg</string> <key>WebSite</key> <string>http://weibo.com/appleus</string> <key>Favorite</key> <real>3.5</real> <key>Category</key> <string>蘋果諮詢</string> </dict> <dict> <key>UserName</key> <string>數位iPhone大百科</string> <key>Image</key> <string>數位iPhone大百科.jpeg</string> <key>WebSite</key> <string>http://weibo.com/gx110</string> <key>Favorite</key> <real>3.5</real> <key>Category</key> <string>蘋果諮詢</string> </dict> </array> <array> <dict> <key>UserName</key> <string>新浪視野</string> <key>Image</key> <string>新浪視野.jpeg</string> <key>WebSite</key> <string>http://weibo.com/wboard</string> <key>Favorite</key> <real>3.5</real> <key>Category</key> <string>官方機構</string> </dict> </array> <array> <dict> <key>UserName</key> <string>李開複</string> <key>Image</key> <string>李開複.jpeg</string> <key>WebSite</key> <string>http://weibo.com/kaifulee</string> <key>Favorite</key> <real>3.5</real> <key>Category</key> <string>IT名人</string> </dict> </array> </array></plist>
對比上一次演練中我們使用的plist檔案,我們多引入了一層array定義,這樣就把原有的一維資料序列, 調整成二維序列了。怎麼樣?還不錯吧。:]