Runtime一個(gè)常用的場(chǎng)景是交換方法的調(diào)用。其實(shí)就是利用了Runtime的方法交換,具體代碼如下: 核心思路是先找到對(duì)應(yīng)的Method,然后將其交換就OK。上面實(shí)現(xiàn)的是交換...
Runtime一個(gè)常用的場(chǎng)景是交換方法的調(diào)用。其實(shí)就是利用了Runtime的方法交換,具體代碼如下: 核心思路是先找到對(duì)應(yīng)的Method,然后將其交換就OK。上面實(shí)現(xiàn)的是交換...
最近創(chuàng)建了一個(gè)新的CocoaPod的庫(kù),感覺流程比以前簡(jiǎn)單多了,在這里記錄一下。環(huán)境:CocoaPods:1.9.0.beta.3, XCode:11.4這里記錄的主要分為兩...
這個(gè)可以只用一個(gè)for循環(huán)解決還不用Set對(duì)比,http://www.itdecent.cn/p/2201cf7d6a26,借鑒了一部分你的代碼。沒想到三年了,這個(gè)問題還會(huì)出現(xiàn)在面試題里
iOS尋找兩個(gè)UIView的最近的公共父類這個(gè)問的其實(shí)是數(shù)據(jù)結(jié)構(gòu)中的二叉樹,查找一個(gè)普通二叉樹中兩個(gè)節(jié)點(diǎn)最近的公共祖先問題假設(shè)兩個(gè)視圖為UIViewA、UIViewC,其中UIViewA繼承于UIViewB,UIVi...
為什么發(fā)現(xiàn)的load_images load_images做了什么 為什么發(fā)現(xiàn)的load_images 起因?yàn)槭呛闷嬖趩?dòng)過(guò)程中main()之后到didFinishLaunc...
環(huán)境:CocoaPods: 1.8.4, Swift: 5.1.2, Xcode: 11.2.1,日期: 2020.01.16 本文以創(chuàng)建 SSRNetwork 為例 新建...
現(xiàn)在面試iOS中高級(jí)開發(fā),算法題已是必然會(huì)出現(xiàn)的一個(gè)環(huán)節(jié)了,這里把面試遇到的算法題和LeetCode上一些比較經(jīng)典的算法題做一個(gè)匯總,希望對(duì)大家有用。大部分公司視頻面試是通過(guò)...
1 NSArray是線程安全的嗎?NSMutableArray是線程安全的嗎?NSDictionary呢?NSCache呢? NSArray是線程安全的,因?yàn)閯?chuàng)建出來(lái)就不允許...
LZ科技一套簡(jiǎn)單的面試題記錄一下: 1 如何保證網(wǎng)絡(luò)請(qǐng)求的順序執(zhí)行(一個(gè)執(zhí)行完畢再執(zhí)行下一個(gè)) 2 Weak實(shí)現(xiàn)的底層原理 3 KVC的原理,此種情況下KVO是否有效? 4 ...
背景 iOS的啟動(dòng)過(guò)程一直比較神秘,這方面的資料也不是太多,大多數(shù)的資料都來(lái)自2016年WWDC的一篇視頻,本文的大部分內(nèi)容來(lái)自于視頻,算是視頻的一個(gè)歸納總結(jié)再加上自己的一點(diǎn)...
二進(jìn)制重排 二進(jìn)制重排其實(shí)并不是什么特別新穎的技術(shù)。 目的 二進(jìn)制重排(layout)的目的在于將hot code聚合在一起,即使得最經(jīng)常執(zhí)行的代碼或最需要關(guān)鍵執(zhí)行的代碼(如...
程序員與別的專業(yè)有所不同,其他專業(yè)都是越老越香,而程序員卻是一個(gè)例外,因?yàn)橛?jì)算機(jī)技術(shù)更新太快,而且工作強(qiáng)度很大,因此大部分程序員只會(huì)寫 3 年代碼。3 年后要不晉升做項(xiàng)目經(jīng)理...