日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

构建轻量级的Table View注意事项[UIKit]

發(fā)布時(shí)間:2025/6/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构建轻量级的Table View注意事项[UIKit] 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參考文章來(lái)自objcio站點(diǎn)

?

一、使用ChildViewController

?

Table ViewController作為Child View Controller加入到其它View Controller中。這種話父Controller能夠管理其它View。同一時(shí)候你的TableView Controller也能夠繼續(xù)管理自己的tableview。當(dāng)然你須要通過(guò)一個(gè)delegate來(lái)使父Controller與子Controller進(jìn)行通信

?

二、讓Cell能夠復(fù)用

?

對(duì)于復(fù)雜的Cell或者有事多種model對(duì)象須要同一個(gè)類型的cell表示時(shí),那么我們能夠考慮把cell復(fù)用。

?

三、把TableView的DataSource分解到單獨(dú)的一個(gè)類中

?

UITableView中的DataSource大多都是對(duì)數(shù)組做的一些操作。能夠把數(shù)組操作相關(guān)的代碼移到單獨(dú)的類中。

能夠使用block或者delegate來(lái)設(shè)置一個(gè)cell。

?

補(bǔ)充

?

1、在分離時(shí)注意要把view層和Controller層的實(shí)現(xiàn)細(xì)節(jié)分開(kāi)。delegate肯定清除一個(gè)view應(yīng)該顯示什么狀態(tài),可是它不應(yīng)該了解怎樣改動(dòng)view的結(jié)構(gòu)或者給某些subviews設(shè)置某些屬性以獲得正確地狀態(tài),全部的這些邏輯都應(yīng)該封裝到view的內(nèi)部,然后對(duì)外提供一些簡(jiǎn)單的API

?

2、對(duì)于一個(gè)tableview中有多種類型的cell、datasource,我們就要通過(guò)推斷cell的類型。然后派發(fā)相應(yīng)的方法。這點(diǎn)類似策略模式。

?

3、簡(jiǎn)單來(lái)講,tableviewcontroller應(yīng)該在model層和view層扮演一個(gè)協(xié)調(diào)者和解調(diào)者的決策。controller不應(yīng)該關(guān)心明顯屬于view層和model層的任務(wù)。能夠使用delegate、block、datasource使得tableviewcontroller變得更加小巧。把業(yè)務(wù)邏輯和view的邏輯放到更加合適的地方,controller層里里外外的實(shí)現(xiàn)細(xì)節(jié)都封裝成簡(jiǎn)單的API。

總結(jié)

以上是生活随笔為你收集整理的构建轻量级的Table View注意事项[UIKit]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。