網頁

2012年6月18日 星期一

UITableViewController觀念(一)

【環境:xCode4.3.2 , ios5.1 , USE ARC】
名稱:UITableViewDelegate,UITableViewDataSource
說明:
UIViewController:「視圖控制器」
UITableViewController:「表格視圖控制器」,他的基本就是從UIViewController延伸過來,方便開發者容易使用,而不需額外製作多餘的工作,標準物件導向的觀念。

但基本下還是必須瞭解在UIViewController下,如何建立UITableViewController的觀念,因為大多數的使用者包含我,剛開始都會產生一個疑惑,為什麼有些時候必須引用一些protocols<uitableviewdelegate,uitableviewdatasource>,有些時候又不需要,這基本就在於你的基礎框架是什麼,我理解的觀念是這樣。

假如你今天直接用UITableViewController的話,那ios已經幫我們建立了一些基本的設定,好讓我們不需要去煩惱其他東西,只需要去構想內容該怎麼寫,甚至連一些會用到的"實體方法"都幫我們建立好,但一定會有一天需要在其他的框架下去建立UITableViewController的時候,這時我們就必須在.h的檔案下,增加Protocols,<uitableviewdelegate,uitableviewdatasource>,相關的協定(protocols)請去參閱相關資料。

引用相關協定後,才可以使用ios已經幫我們準備好的功能,包含-(NSInteger)numberOfSectionInTableView:(UITableView*)tableView{}.....等等。
<以下範例>
 
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>

@end 

  • UITableViewDelegate:提供表格視圖用來管理、設定表格區段、標題、頁尾等等所需的資訊,同時亦協助管理表格資料的刪除、修改等工作。
  • UITableViewSource:為表格提供顯示的資料。
額外補充
UITableViewController實作了一個叫做UITableViewDataSource的協定。  UITableViewDataSource拆開後可以看到幾個關鍵字。
-UI:表示這個元件是一個UI介面。
-TableView:表示這個元件是表格視圖。
-DataSource:表示這是某個東西的資料來源。
所以整體來說應該是這樣解釋,這個元件的來源是表格視圖的UI介面。
就是要告訴表格視圖的資料來源是什麼,而我們正透過這個協定來告訴表格視圖該顯示什麼資料。

As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

沒有留言:

張貼留言