iOS開發 建立乙個簡單的TableView

2021-06-28 23:14:59 字數 2457 閱讀 2395

1,建立工程

在workspace中新增乙個工程「******table」,建立完成後,設定此專案為當前除錯、執行工程:product->scheme

2,在viewcontroller中新增tableview

開啟main.storyboard,在右下角的控制項視窗中拖動table view到viewcontroller中,拖動完成後,如下圖:

3,修改**

開啟viewcontroller.h檔案,修改為如下**:

#import @inte***ce ******tableviewcontroller : uiviewcontroller @end
uitableview是表檢視幕後的實際類,用來處理不同型別的資料;

uitableviewdatasource用來連線資料和表檢視,要求實現兩個方法:tableview:cellforrowatindexpath、tableview:numberofrowsinsection

在viewcontroller.m中定義乙個例項變數,存放表資料:

@implementation ******tableviewcontroller

//存放表資料的例項變數,存放表資料

nsarray *tabledata;

在viewdidload中初始化資料:

-(void)viewdidload
numberofrowsinsection通知表檢視選擇了多少行資料,也就是tabledata有多少個元素:

-(nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section
cellforrowatindexpath獲取某乙個cell的內容:

//每一次資料行顯示的時候,都會呼叫cellforrowatindexpath方法

-(uitableviewcell*)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

cell.textlabel.text = [tabledata objectatindex:indexpath.row];

return cell;

}

ok,至此,**部分已完成開發。但是再次執行依舊看不到任何內容,為什麼呢?因為還沒有把錶檢視和資料來源連線起來。

4,連線檢視和委託

因為我們修改了viewcontroller.h中定義的介面名字為:******tableviewcontroller,我們第一步來修改main.storyboard中的view controller對應的custome class,如圖所示,選中黃底白框的圖示,在右側的"class"中輸入「******tableviewcontroller」:

設立資料來源和**的委託:在table view區域右擊:

滑鼠放入到datasource後面的圓圈中,按下左鍵拖動到如圖所示的位置,釋放滑鼠即可。

同樣的方法設定delegate即可,再次執行即可看到頁面中顯示的列表:

5,為每一行資料新增乙個圖示

cell.imageview.image = [uiimage imagenamed:@"egg.png"];
再此執行即可看到每個列表項前都有乙個雞蛋的圖示了。

6,總結

1,修改了viewcontroller.h中的inte***ce後,沒有修改main.storyboard中的custom class的屬性,導致連線資料來源、**後依舊不能顯示設定的資料;

2,沒看過oc的語法,抄**時很費勁,接下來找本oc的電子書看看。

Tab控制項的乙個簡單應用例項

1 首先建立乙個mfc對話方塊框架,在對話方塊資源上從工具箱中新增上乙個tab control 控制項,根據需要修改一下屬性,然後右擊控制項,為這個控制項新增乙個變數,將此控制項跟乙個ctabctrl類變數繫結在一起,這裡設為m tabctrl 2 建立兩個新的對話方塊資源,其屬性作如下修改 bor...

建立乙個 iOS 的 Widget (一)

一.首先 建立乙個testwidgetdemo 專案 二.建立乙個widget 方式如下 因為要通過widget 這個group 來共享許可權 獲取資料,而這個group 在 呢 要怎樣設定呢?看圖 四.testwidgetdemo 的viewcontroller.m 設定要傳給widget的值 n...

建立乙個簡單的執行緒

handle createthread in opt lpsecurity attributes lpthreadattributes,security attributes 結構指定了這個執行緒的安全屬性,如果填 null 則就以預設的安全描述子建立,並且返回的控制代碼不會被繼承。in size ...