一直好奇下拉刷新類的框架是怎么實(shí)現(xiàn),這周看了star最多的MJRefresh。源碼繼承結(jié)構(gòu)清晰,實(shí)現(xiàn)的較為巧妙。 1. header初始化 MJ...
layoutSubViews默認(rèn)沒(méi)有做任何事情,需要子類進(jìn)行重寫 。 系統(tǒng)在很多時(shí)候會(huì)去調(diào)用這個(gè)方法: 1.初始化不會(huì)觸發(fā)layoutSubvi...
分類就是對(duì)一個(gè)類的功能進(jìn)行擴(kuò)展,讓這個(gè)類能夠適應(yīng)不同情況的需求。在實(shí)際開(kāi)發(fā)中,我們都會(huì)對(duì)系統(tǒng)的一些常用類進(jìn)行擴(kuò)展,比如NSString、Butt...
scrollView在iOS11新增的兩個(gè)屬性:adjustContentInset 和 contentInsetAdjustmentBehav...
DZNEmptyDataSet (github接近1萬(wàn)星)是一個(gè)能夠?yàn)閁ITableView、UICollectionView自動(dòng)添加空頁(yè)面提示...
如果我們需要一個(gè)模型,讓線程能隨時(shí)處理事件但并不退出,這種模型通常稱作Event Loop.實(shí)現(xiàn)這種模型的關(guān)鍵點(diǎn)在于:如何管理事件、消息,如何讓...
已經(jīng)封裝好了,拿走就能用,完整的項(xiàng)目已經(jīng)上傳到github上了項(xiàng)目地址
隊(duì)列的創(chuàng)建和獲?。?如何設(shè)計(jì)一個(gè)線程安全的字典或數(shù)組? 在編碼過(guò)程中,對(duì)數(shù)組進(jìn)行多線程寫入,會(huì)引起崩潰: 采用部分代碼加鎖可解決這一問(wèn)題: 在實(shí)...
1.效果如下: 實(shí)現(xiàn)代碼如下: