iOS不支持動(dòng)態(tài)鏈接庫(kù)的特性總是被人詬病。不管你贊不贊同這一點(diǎn),去弄清楚其中的why和how還是很有趣的一件事情。在這篇文章里我們將會(huì)看到庫(kù)是什么,如何在實(shí)踐中用到,它們?cè)趺?..
iOS不支持動(dòng)態(tài)鏈接庫(kù)的特性總是被人詬病。不管你贊不贊同這一點(diǎn),去弄清楚其中的why和how還是很有趣的一件事情。在這篇文章里我們將會(huì)看到庫(kù)是什么,如何在實(shí)踐中用到,它們?cè)趺?..
在上一篇_Block_copy方法中可以看到block實(shí)際的數(shù)據(jù)結(jié)構(gòu)為Block_layout結(jié)構(gòu)體。 查看Block_descriptor_1的結(jié)構(gòu)體,發(fā)現(xiàn)了Block_d...
單例 說(shuō)起單例,我們一般使用GCD的dispath_once來(lái)創(chuàng)建單例 對(duì)于單例,需要知道以下兩個(gè)問(wèn)題: 1.單例為什么只執(zhí)行一次,底層是如何控制的 2.單例的block是在...
導(dǎo)讀:你想知道Swift內(nèi)部對(duì)象是如何創(chuàng)建的嗎?方法以及函數(shù)調(diào)用又是如何實(shí)現(xiàn)的嗎?成員變量的訪問(wèn)以及對(duì)象內(nèi)存布局又是怎樣的嗎?這些問(wèn)題都會(huì)在這篇文章中得到解答。為了更好的讓大...
打造完備的 iOS 組件化方案:如何面向接口進(jìn)行模塊解耦? 關(guān)于組件化的探討已經(jīng)有不少了,在之前的文章iOS VIPER架構(gòu)實(shí)踐(三):面向接口的路由設(shè)計(jì)中,綜合比較了各種方...
跟著美團(tuán)公眾號(hào)找到這,收獲很多
【轉(zhuǎn)】Swift編譯器深度剖析和如何開(kāi)發(fā)高性能Swift程序轉(zhuǎn)自深入剖析Swift性能優(yōu)化,我為該文作者,現(xiàn)使用簡(jiǎn)書(shū)平臺(tái)發(fā)布。 簡(jiǎn)介 2014年,蘋(píng)果公司在WWDC上發(fā)布Swift這一新的編程語(yǔ)言。經(jīng)過(guò)幾年的發(fā)展,Swift已經(jīng)成為i...
轉(zhuǎn)自深入剖析Swift性能優(yōu)化,我為該文作者,現(xiàn)使用簡(jiǎn)書(shū)平臺(tái)發(fā)布。 簡(jiǎn)介 2014年,蘋(píng)果公司在WWDC上發(fā)布Swift這一新的編程語(yǔ)言。經(jīng)過(guò)幾年的發(fā)展,Swift已經(jīng)成為i...
??關(guān)于Runtime的用法和詳解,一直想研究了解一下,但是一直沒(méi)有時(shí)間進(jìn)行徹底的學(xué)習(xí)(說(shuō)白了就是懶,也就是現(xiàn)在人們普遍存在的拖延癥),最近幾天公司項(xiàng)目不是很緊,于是抽出幾天...
一、前言 一個(gè)比較成熟的App,經(jīng)歷了多個(gè)版本的迭代之后,為了方便調(diào)式和測(cè)試,往往會(huì)積累一些工具來(lái)應(yīng)付這些場(chǎng)景。最近我們組就開(kāi)源了一款適用于iOS App線下開(kāi)發(fā)、測(cè)試、驗(yàn)收...
近期在工作中,對(duì)APP進(jìn)行了內(nèi)存占用優(yōu)化,減少了不少內(nèi)存占用,在此將經(jīng)驗(yàn)進(jìn)行總結(jié)和分享,也歡迎大家進(jìn)行交流。 在優(yōu)化的過(guò)程中,主要使用了以下工具: Instruments和A...