關于UITableView的一點理解

開題

在很多時候感覺嘛,做iOS開發其實很簡單嘛,除了UI就是UI,好像看不出還有什么需要做的功能。在蘋果的iOS系統上面使用一款應用,就會有一種簡約的感受,因為在用戶體驗上蘋果爸爸已經幫你優化得很好了。

作為一名iOS狗,除了跪舔各種蘋果的logo外,還有就是享受自己設計的愛屁屁了....今天無聊就想說點自己對代碼的看法吧

關于UITableView

在iOS開發的頁面布局中,見的最多的就是UITableView這貨了,掌握了這貨,可以說是能勝任百分之七十的開發工作,剩下的百分之三十那就是iOS開發里最難的了,哈哈哈

在習慣使用StoryBoard來做頁面布局的時候,往頁面中拖入一個UITableView那是相當快的。然而有時候就是要你手擼一個UITableView出來,這時候就尷尬了啊,想個半天沒下手,因為不知道從何下手,真是尷尬。不得已老老實實的回顧一下如何創建一個UITableView出來了,自己也手擼了

腦子里的想著如何設計的

先說說UITableView的一些不能忽視的內容,敲黑板了啊敲黑板了啊,UITableView最重要的是一個數據源和一個代理,數據源(UITableViewDatasource)是用來設計UITableView的內容的,類似控制著多少行數據啊,每行數據怎么顯示的啊之類的,代理方法(UITableViewDelegate)這是做一些頁面交互的操作等,還有調整頁面的顯示樣式的,類似表頭啊什么的

要在一個頁面上顯示出一個UITableView,首先的創建UITableView嘛,在哪創建,在頁面初始化的地方創建,在ViewController的viewDidLoad方法里面給UITableView做初始化,然后給當前的ViewController設置成為UITableView的代理,

_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStylePlain];

_tableView.dataSource = self;

_tableView.delegate = self;

[self.view addSubview:_tableView];

成為了代理,那就要實現相應的代理方法。先是針對數據源的代理,我們需要一個數據源,一般來說都是以數組NSArray的形式作為_tableView的數據源,里面存儲這_tableView要顯示的數據。對數據源我們至少要實現兩個方法,一個是

- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section {

return dataArray.count;

}

一個是關于每行cell的相關設置的

- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {

static NSString *cellID =@"testCell";

UITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:cellID];

if(!cell) {

cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];

}

//從數據源中取數據來顯示

NSString *title = dataArray[indexPath.row];

cell.textLabel.text= title;

return cell;

}

在這個方法里,我們就是從數據源里面取出相關的數據來顯示_tableView的內容的。

簡單的tableView就算創建出來了,靈活就在我們怎么面對復雜的數據源的處理,如何處理,或者從一個頁面把數據源傳遞到另一個頁面去顯示,這些就是我們需要控制的地方了?;蛘呶覀兛梢試L試著封裝一個頁面,只需要傳遞一個數組到目標頁面,把接收到的數組設置為tableView的數據源,然后調用一下tableView的刷新方法,就可以顯示出我們想要的數據了。

總結一下

寫的這點東西只是腦子里回顧一下如何創建一個tableView并顯示出來。習慣了復制和粘貼,在我們的腦子里只是存著方法,卻沒存著自己的代碼,等到需要用的時候還是要去查找一遍,那就太浪費時間了。作為一個有目標的iOS狗,還是給自己點時間來補充點狗糧比較好。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,401評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,011評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,263評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,543評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,323評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,874評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,968評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,095評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,605評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,551評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,720評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,242評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,961評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,358評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,612評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,330評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,690評論 2 370

推薦閱讀更多精彩內容