前言 我第一次開(kāi)始重視Objective-C Runtime是從2014年11月1日,@唐巧老師在微博上發(fā)的一條微博開(kāi)始。 這是sunnyxx在線下的一次分享會(huì)。會(huì)上還給了4...
前言 我第一次開(kāi)始重視Objective-C Runtime是從2014年11月1日,@唐巧老師在微博上發(fā)的一條微博開(kāi)始。 這是sunnyxx在線下的一次分享會(huì)。會(huì)上還給了4...
類擴(kuò)展和分類 category:類別缚柏、分類用來(lái)給類增加方法皮胡、屬性叉信、協(xié)議不能增加成員變量米辐,在分類的結(jié)構(gòu)體中并沒(méi)有存儲(chǔ)成員變量的數(shù)據(jù)結(jié)構(gòu)需要注意的如果是增加屬性的話,只會(huì)增加屬性...
TCP有主要有兩個(gè)特點(diǎn): 面向連接:需要客戶端和服務(wù)器在發(fā)送數(shù)據(jù)之前有連接 可靠傳輸:客戶端與服務(wù)器之間發(fā)送的數(shù)據(jù)是可靠的(無(wú)損壞臊旭,按順序) 下面總結(jié)一下TCP的一些知識(shí)點(diǎn):...
2019 iOS面試題大全---全方面剖析面試 2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之HTTP協(xié)議 2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之HTTPS、對(duì)稱加密乏德、非對(duì)稱...
原文地址:2018 iOS 面試題大全由于原作者并沒(méi)有繼續(xù)更新撤奸,這里我轉(zhuǎn)過(guò)來(lái)繼續(xù)更新下 整理的一些iOS面試相關(guān)問(wèn)題,持續(xù)更新,敬請(qǐng)關(guān)注 2018 iOS面試題大全---全方...
一句話總結(jié): HTTP以明文方式發(fā)送內(nèi)容喊括,不驗(yàn)證服務(wù)器身份胧瓜,不提供數(shù)據(jù)加密 HTTPS在HTTP基礎(chǔ)上加了SSL協(xié)議,驗(yàn)證服務(wù)器身份郑什,加密傳輸?shù)臄?shù)據(jù) 下面具體總結(jié)一下HTTP...
OC 常用的多線程實(shí)現(xiàn)方法有: NSThread GCD NSOperation 下面逐一總結(jié)一下剃法。 NSThread NSThread是官方提供的碎捺,面向?qū)ο蟮膭?chuàng)建多線程的方...
上一節(jié)中,我們學(xué)習(xí)了蘋(píng)果官方提供的面向?qū)ο蟮膶?shí)現(xiàn)多線程的方法——NSThread贷洲。這一節(jié)中收厨,我們學(xué)習(xí)C語(yǔ)言的實(shí)現(xiàn)多線程的方法,GCD优构,這也是我們項(xiàng)目中經(jīng)常使用的一種方法诵叁。NS...
想要深入理解多線程,鎖是預(yù)備知識(shí)钦椭,這里總結(jié)一下OC中鎖相關(guān)的知識(shí)拧额,打好基礎(chǔ)碑诉。 為什么要有鎖? 鎖概念的提出势腮,是為了解決多線程資源共享的問(wèn)題联贩,在多線程環(huán)境下漫仆,有的資源可能會(huì)同時(shí)...
讀寫(xiě)鎖是計(jì)算機(jī)程序的并發(fā)控制的一種同步機(jī)制捎拯,也稱“共享-互斥鎖”、多讀者-單寫(xiě)者鎖盲厌。讀操作可并發(fā)重入署照,寫(xiě)操作是互斥的。 實(shí)現(xiàn)原理 兩把互斥鎖 使用兩把互斥鎖與一個(gè)整數(shù)計(jì)數(shù)器實(shí)...
進(jìn)程(process) 就是一個(gè)運(yùn)行的程序阀湿,比如一個(gè)運(yùn)行的App赶熟。 有獨(dú)立的邏輯內(nèi)存空間。 線程(thread) 進(jìn)程中一路單獨(dú)運(yùn)行的程序陷嘴,一個(gè)進(jìn)程由一個(gè)或多個(gè)線程構(gòu)成映砖。 各...
上一節(jié)中,我們?cè)敿?xì)的學(xué)習(xí)了和多線程有關(guān)的概念灾挨,像進(jìn)程邑退、線程、多線程劳澄、CPU內(nèi)核地技、并發(fā)、并行秒拔、串行莫矗、隊(duì)列、同步溯警、異步等概念趣苏。這一節(jié)中,我們將用代碼來(lái)實(shí)現(xiàn)多線程梯轻。如果對(duì)多線程概念...
什么是RunLoop食磕? 可以簡(jiǎn)單理解為,讓程序保持運(yùn)行的一個(gè)while循環(huán)喳挑,這個(gè)循環(huán)內(nèi)監(jiān)聽(tīng)各種事件(如觸摸事件彬伦、performSelector滔悉、定時(shí)器NSTimer等),沒(méi)有...
KVO(Key Value Observing)单绑,可以用來(lái)監(jiān)聽(tīng)一個(gè)對(duì)象鍵值的變化回官,當(dāng)鍵值變化時(shí),觸發(fā)回調(diào)函數(shù)搂橙,做相應(yīng)的操作歉提,主要用法總結(jié)如下: 舉個(gè)例子: KVO底層是怎么實(shí)...
前言 剛剛聽(tīng)到RunLoop的時(shí)候我也是一臉懵逼,這是什么区转,有什么用呢苔巨,逼格貌似還挺高。然后就開(kāi)始嘗試去搞懂它废离,去找博客侄泽,但是幾乎所有的博客都是枯燥乏味的,都是講概念蜻韭,然后給...
本文重點(diǎn)總結(jié) OC block 的原理悼尾,并帶上一些例子,不討論 block 的寫(xiě)法和應(yīng)用肖方。 block 的本質(zhì)總結(jié)如下: block 在底層上是一個(gè)結(jié)構(gòu)體闺魏,內(nèi)部有一個(gè)isa指...
OC Runtime特性讓他具有一些新功能,可以應(yīng)用在日常的工作中窥妇,下面介紹 Runtime 中常見(jiàn)的應(yīng)用舷胜,可以簡(jiǎn)要總結(jié)為以下幾點(diǎn)(都要用到<objc/runtime.h>庫(kù)...
動(dòng)態(tài)綁定 我們都知道OC是動(dòng)態(tài)語(yǔ)言,表現(xiàn)為對(duì)象方法的調(diào)用實(shí)際上是對(duì)對(duì)象發(fā)送消息活翩,編譯時(shí)不確定這個(gè)對(duì)象執(zhí)行什么方法烹骨,而在運(yùn)行時(shí)由消息(方法選擇器selector決定對(duì)象執(zhí)行什么...