后臺(tái)Crash 蘋(píng)果在 WWDC 2020 上的介紹,目前會(huì)導(dǎo)致App在后臺(tái)被殺死的情況大概有以下 6 種。 1期奔、崩潰(Crashes) 代碼邏輯的Crash引發(fā)App閃退等限。...
后臺(tái)Crash 蘋(píng)果在 WWDC 2020 上的介紹,目前會(huì)導(dǎo)致App在后臺(tái)被殺死的情況大概有以下 6 種。 1期奔、崩潰(Crashes) 代碼邏輯的Crash引發(fā)App閃退等限。...
單元測(cè)試 單元測(cè)試(Unit Testing)又稱為模塊測(cè)試招盲,是針對(duì)程序模塊來(lái)進(jìn)行正確性檢驗(yàn)的測(cè)試工作愿题。單元就是單個(gè)程序免胃、函數(shù)粉楚、過(guò)程等辣恋,編寫(xiě)程序的過(guò)程中前后很可能要進(jìn)行多次單...
虛擬內(nèi)存 虛擬內(nèi)存是計(jì)算機(jī)系統(tǒng)內(nèi)存管理的一種技術(shù),虛擬內(nèi)存為每個(gè)進(jìn)程提供了一個(gè)連續(xù)解幼、私有的地址空間抑党,它每個(gè)進(jìn)程會(huì)認(rèn)為自己在使用一塊大的連續(xù)的內(nèi)存。事實(shí)上撵摆,每個(gè)進(jìn)程的內(nèi)存散布在...
編譯過(guò)程 傳統(tǒng)編譯過(guò)程一般分為以下步驟底靠。 源代碼(source code)→ 預(yù)處理器(preprocessor)→ 編譯器(compiler)→ 匯編程序(assemble...
定義 用iOS開(kāi)發(fā)環(huán)境來(lái)舉例,IoC容器的核心功能負(fù)責(zé)對(duì)象創(chuàng)建特铝、依賴查找和依賴注入暑中,這些功能都需要借助運(yùn)行時(shí)runtime的反射實(shí)現(xiàn) 使用protocol 在IoC容器中,就...
定義 控制反轉(zhuǎn)(Inversion of Control鲫剿,縮寫(xiě)為IoC)鳄逾,是面向?qū)ο缶幊讨械囊环N設(shè)計(jì)原則,可以用來(lái)減低計(jì)算機(jī)代碼之間的耦合度灵莲。 傳統(tǒng)意義上雕凹,Class A中用...
建立組件工程 建立主workspace工程與組件的pod工程如(podLibTest) 多個(gè)模式共存 源碼模式的podspec arc與non arc共存問(wèn)題在組件工程比較好...
podspec文件 建立CocoaPods私有源的關(guān)鍵是編寫(xiě).podspec文件,此文件是CocoaPods所使用的一種特殊政冻,例子可以參考以下源碼枚抵。 創(chuàng)建Spec Repo ...
CocoaPods簡(jiǎn)介 CocoaPods是Swift和Objective-C 項(xiàng)目的依賴管理器。它擁有超過(guò)61000個(gè)第三方庫(kù)明场,超過(guò)300萬(wàn)個(gè)應(yīng)用程序都使用CocoaPod...
設(shè)置高度的方式 UITableView的高度設(shè)置一般有以下兩種方式:方式一 方式二 如果實(shí)現(xiàn)了以上方法后汽摹,通過(guò)rowHeight 的設(shè)置是無(wú)效的。第二種方式適用于具有多種 c...
常見(jiàn)的Crash unrecognized selector sent to class 是iOS編程中常見(jiàn)的錯(cuò)誤苦锨,從之前博文可知逼泣,iOS的方法調(diào)用最終會(huì)轉(zhuǎn)化為消息發(fā)送過(guò)程...
方法調(diào)用的方式 在iOS開(kāi)發(fā)中趴泌,直接調(diào)用方法的方式有以下兩種: (id)performSelector:(SEL)aSelector 使用NSInvocation對(duì)象 per...
安全問(wèn)題 首先App的安全問(wèn)題主要包括以下三個(gè)方面 本地代碼安全可以通過(guò)代碼混淆盔然,關(guān)鍵字符串或者重要變量加密沾乘;通過(guò)加殼防止二次打包 本地?cái)?shù)據(jù)存儲(chǔ)持久化數(shù)據(jù)的加密虱而,盡量不要保存...
經(jīng)典問(wèn)題 因?yàn)槭钱惒讲⑿嘘?duì)列氨肌,而且str屬性是非原子性的,系統(tǒng)會(huì)開(kāi)啟多條線程來(lái)執(zhí)行Block代碼廓鞠,運(yùn)行的時(shí)候,幾率出現(xiàn)crash現(xiàn)象谣旁。 此時(shí)crash堆棧如下 線上出現(xiàn)此種C...
常用緩存策略 常用的緩存淘汰策略有以下 先進(jìn)先出算法(FIFO) Least Frequently Used(LFU)淘汰一定時(shí)期內(nèi)被訪問(wèn)次數(shù)最少的頁(yè)面榄审,以次數(shù)作為參考 Le...
畫(huà)圖 在iOS中實(shí)現(xiàn)繪圖的技術(shù)的話砌们,比較通用的做法是,在onTouch事件中收集到軌跡坐標(biāo)點(diǎn)數(shù)據(jù)搁进,然后在UIView中的drawInRect方法里面繪制每一幀畫(huà)面浪感。在draw...
板凳
autorelease與autoreleasepoolMRC 使用ARC,開(kāi)發(fā)者不再需要手動(dòng)的retain/release/autorelease饼问。編譯器會(huì)自動(dòng)插入對(duì)應(yīng)的代碼影兽,再結(jié)合Objective C的runtime,實(shí)現(xiàn)自...
MRC 使用ARC莱革,開(kāi)發(fā)者不再需要手動(dòng)的retain/release/autorelease峻堰。編譯器會(huì)自動(dòng)插入對(duì)應(yīng)的代碼,再結(jié)合Objective C的runtime盅视,實(shí)現(xiàn)自...
鎖 多線程中捐名,鎖大部分可以分成兩種,互斥鎖與自旋鎖闹击。 互斥鎖 Mutex互斥鎖也稱互斥量 镶蹋,屬于sleep-waiting類型的鎖,當(dāng)線程訪問(wèn)被鎖資源時(shí)赏半,調(diào)用者線程會(huì)休眠贺归,此...