2023年12月27 我的第乙個iphone小程式

2021-08-27 09:18:53 字數 1470 閱讀 5636

先上效果圖:

[img]

[img]

[/img]

工程結構圖:

[img]

[img]

[/img]

上**:

mytabviewviewcontroller.h

mytabviewviewcontroller.h

在viewdidload中,我們初始化了list的內容,用於table的顯示。

然後下面的4個方法:numberofsectionsintableview,tableview: numberofrowsinsection,tableview: titleforheaderinsection,tableview: cellforrowatindexpath,就是我們實現的delegate的方法。iphone程式在現實table view的時候,會在恰當的時候呼叫這幾個方法。具體怎麼呼叫我們不需要關係(這是被隱藏起來的實現細節),我們作為程式設計師只需要在delegate中實現這些方法,完成我們所需要的功能。下面一一來解釋:

1)numberofsectionsintableview:這個方法的引數是uitableview*,也就是說,我們允許在乙個view中有若干個table view,可以為每個table view分別設定section的數量。那麼什麼是section呢?參見下圖。下圖的table view中一共有2個section。

2)tableview: numberofrowsinsection:這裡有兩個引數,第乙個是uitableview*,第二個是section的index。也就是說它可以指定某個table view中的某個section的行數。這裡,由於我們只有乙個table view,並且在這個table view裡面只有乙個section,所以直接返回food list的長度。

3)tableview: titleforheaderinsection:這裡有兩個引數,第乙個是uitableview*,第二個是section的index。也就是說它可以指定某個table view中的某個section的標題。這裡我們直接返回"food list"。

4)tableview: cellforrowatindexpath:這個函式是用來返回table view中每一行(每乙個cell)的內容。它有兩個引數,第乙個是uitableview*,第二個是indexpath*。indexpath包含了該行所在的section的序號和它的行序號。我們可以通過[indexpath section]和[indexpath row]就可以得到該單元所在的section序號和行序號。

因為每一行唯一的區別就是顯示的文字不同,所以為了節約資源,iphone允許我們重用uitableviewcell的資源。

首先,使用[tableview dequeuereusablecellwithidentifier: identifier] 來檢視一下uitableviewcell是否已經存在了。如果還沒有存在,cell == nil ,那麼我們需要構造乙個;如果已經存在了,那麼我們需要做的就是根據它的行號,設定所需要顯示的文字內容。

2023年12月第乙個週末

這周,依然平常的上課。去圖書館借了四本床頭書 簡愛 白鯨 情人 忘記名字,還沒看 左邊英文,右邊漢譯,非常不錯。周二的時候oracle的書到了,看了前幾章,要常用到linux,索性就打算做個雙系統,正式搞起。以前都是用vm,結果對在真機上裝,產生了不小的畏懼感。周五開始裝機,雙系統用easybcd一...

2023年12月第乙個週末

這周,依然平常的上課。去圖書館借了四本床頭書 簡愛 白鯨 情人 忘記名字,還沒看 左邊英文,右邊漢譯,非常不錯。周二的時候oracle的書到了,看了前幾章,要常用到linux,索性就打算做個雙系統,正式搞起。以前都是用vm,結果對在真機上裝,產生了不小的畏懼感。周五開始裝機,雙系統用easybcd一...

我的第乙個5年計畫

看了 明天我們還能做什麼?覺得自己確實也應該為我的未來5年做個規劃。我不敢說自己一定會按著這個 我的第乙個5年計畫 中描述的那樣實施每一步,但是,我希望這個能夠作為乙個提醒,希望它能夠時刻提醒我自己對未來要有規劃。不要讓自己覺得明天沒什麼事可以做了。當然,我現在能夠制定的計畫,也肯定不是什麼完善的計...