Ivar包含了objc_property_t; 聲明“xxx”的objc_property_t屬性之后,編譯器會(huì)自動(dòng)生成相對(duì)應(yīng)的以“_xxx”為...
method_exchangeImplementations(Method m1,Method m2) { if(!m1 || !m2)re...
notification的方法響應(yīng)線程取決于發(fā)送notification的線程。在子線程發(fā)送通知,響應(yīng)方法的線程就是子線程,跟監(jiān)聽通知的線程沒有關(guān)系
1. 當(dāng)程序啟動(dòng)的時(shí)候會(huì)執(zhí)行l(wèi)oad方法,當(dāng)類第一次執(zhí)行方法(類方法和實(shí)例方法)時(shí)會(huì)調(diào)用initialize方法,eg:在load里進(jìn)行方法替換...
詳細(xì)請(qǐng)看此處的解答
一般展示數(shù)據(jù)的頁(yè)面都有一個(gè)上拉加載更多的功能,當(dāng)請(qǐng)求下來(lái)的數(shù)據(jù)添加到數(shù)據(jù)源之后,我們需要進(jìn)行刷新界面,這時(shí)如果使用reloadData會(huì)比較消耗...
當(dāng)我們已經(jīng)上線了一個(gè)穩(wěn)定的版本,代碼在master主干上面,后續(xù)我們要開發(fā)新的功能會(huì)創(chuàng)建一個(gè)Dev的分支,在這個(gè)分支上進(jìn)行新功能的開發(fā),我們還要...
當(dāng)我們?cè)趃it上初始化項(xiàng)目時(shí),都會(huì)忽略一些不必要的文件,比如pods庫(kù)。在開發(fā)過程中可能我們創(chuàng)建了自己的私有庫(kù),或者修改了三方庫(kù),這時(shí)我們需要自...
dispatch_semaphore_t可以阻塞線程 dispatch_semaphore_t的使用場(chǎng)景:有三個(gè)界面A、B、C,A界面上有一個(gè)按...