前言 幾年前剛看到《原則》的時(shí)候,書中內(nèi)容就給了我很大的感觸:按照一定的原則去行事,不斷調(diào)整和踐行自己的原則,生活和工作會(huì)給出截然不同的反饋。以前自己總有很多想法,作為感性的...
前言 面試是職場中必經(jīng)的一個(gè)步驟,在短短的幾十分鐘內(nèi)去考察一個(gè)人的各項(xiàng)能力與綜合素質(zhì),判斷候選人與團(tuán)隊(duì)和團(tuán)隊(duì)匹配程度。從技術(shù)角度來看,面試更像是針對(duì)某些知識(shí)的討論,尋求面試官...
多個(gè)分類重寫原有類方法,排序也是固定的。分類中的方法都在原來類方法的前面,而分類中相同的方法,會(huì)根據(jù)你Xcode中 Build Phases ->Complie Source 里文件的順序來排序,在最下面的分類文件中的方法會(huì)被調(diào)用。
而load方法的調(diào)用方式跟其他方法不一樣,在程序啟動(dòng)加載類,完成分類的合成之后,RunTime會(huì)主動(dòng)調(diào)用類和分類的load方法。而調(diào)用方式是找到load方法的方法地址,通過地址直接調(diào)用,不會(huì)通過objc_msgSend方法去調(diào)用,就不會(huì)去方法列表里面去查找,也就不會(huì)有“假覆蓋”情況的出現(xiàn)。
iOS面試題:category 和 extension 有什么區(qū)別?category 是如何加載的?category 的方法覆蓋是怎么處理的?extension 在編譯期決定,它就是類的一部分,在編譯期和頭文件里的 @interface 以及實(shí)現(xiàn)文件里的 @implement 一起形成一個(gè)完整的類,它伴隨類的產(chǎn)生而...
CADisplayLink、NSTimer會(huì)對(duì)target產(chǎn)生強(qiáng)引用,如果target又對(duì)它們產(chǎn)生強(qiáng)引用,那么就會(huì)引發(fā)循環(huán)引用。如果沒有在dealloc之前主動(dòng)關(guān)閉(調(diào)用in...
如何實(shí)現(xiàn)以下場景,“多讀單寫”,經(jīng)常用于文件等數(shù)據(jù)的讀寫操作 同一時(shí)間,只能有1個(gè)線程進(jìn)行寫的操作 同一時(shí)間,允許有多個(gè)線程進(jìn)行讀的操作 同一時(shí)間,不允許既有寫的操作,又有讀...
Objective-C在變?yōu)闄C(jī)器代碼之前,會(huì)被LLVM編譯器轉(zhuǎn)換為中間代碼 OC -> 中間代碼(.ll) -> 匯編、機(jī)器代碼 可以使用以下命令行指令生成中間代碼 clan...
想要查看某個(gè)文件的匯編代碼是怎么樣的,可以這樣做: 選中某個(gè)文件 點(diǎn)擊Product -> Perform Action -> Assemble "xxx.m"截屏2020-...
對(duì)象調(diào)用,參數(shù)就需要傳類對(duì)象class類調(diào)用,參數(shù)就需要傳元類對(duì)象meta-class
@dynamic :告訴編譯器不要生成setter、getter方法和成員變量_age@synthesize age; // 為屬性age生成_age成員變量,setter...
1. __block可以用于解決block內(nèi)部無法修改auto變量值的問題 2. __block不能修飾全局變量、靜態(tài)變量(static) 3. __block修飾變量時(shí),編...
問題:在使用clang轉(zhuǎn)換OC為C++代碼時(shí),可能會(huì)遇到cannot create __weak reference 問題:cannot create __weak refe...
昨天,一個(gè)名字突然空降在微博熱搜榜上: 岑怡諾。 14歲神童,號(hào)稱能一天“作詞300首、詩2000首、寫15000字小說”,曾四次參加演講比賽獲獎(jiǎng),還是兩個(gè)品牌的創(chuàng)始人。 這...
Category能否添加成員變量? 不能直接給Category添加成員變量,但能間接實(shí)現(xiàn)成員變量的效果。能直接添加屬性。添加的屬性,只能生成getter、setter方法的聲...