在日常開(kāi)發(fā)中,我們常常需要為每個(gè)功能頁(yè)面分配獨(dú)立的路由。傳統(tǒng)做法通常有兩種方案: 集中式管理路由:實(shí)現(xiàn)一個(gè)統(tǒng)一的路由類(lèi)(如 URLHandler),在其中集中注冊(cè)所有路由。新...
在日常開(kāi)發(fā)中,我們常常需要為每個(gè)功能頁(yè)面分配獨(dú)立的路由。傳統(tǒng)做法通常有兩種方案: 集中式管理路由:實(shí)現(xiàn)一個(gè)統(tǒng)一的路由類(lèi)(如 URLHandler),在其中集中注冊(cè)所有路由。新...
本文介紹如何使用快捷指令結(jié)合觸控功能,實(shí)現(xiàn)在不打開(kāi)app的情況下,通過(guò)長(zhǎng)按屏幕彈出搜題浮窗。 1. 添加Intent 我們需要在工程內(nèi)引入Intents Extension、...
在搜題 App,我們遇到了一個(gè)比較奇怪的閃退問(wèn)題。具體表現(xiàn)為:在一些較老的設(shè)備(例如 iPhone 8)上,加載 TensorFlow 模型時(shí)會(huì)拋出 bad_alloc 異常...
HTTP(超文本傳輸協(xié)議)是構(gòu)建 web 的基礎(chǔ)協(xié)議。隨著互聯(lián)網(wǎng)的飛速發(fā)展,HTTP 協(xié)議經(jīng)歷了多次升級(jí),從最初的 HTTP/1.0 到現(xiàn)在的 HTTP/3.0,每次更新都在...
在 iOS 開(kāi)發(fā)中,MetricKit 能夠幫助開(kāi)發(fā)者收集和分析性能數(shù)據(jù)以及其他關(guān)鍵的應(yīng)用指標(biāo)。本文探討如何通過(guò)分析 MetricKit 日志,來(lái)定位問(wèn)題代碼。 假設(shè)有如下 ...
Scroll Hitch Rate Xcode 12增加了一個(gè)新的指標(biāo),可以客觀地跟蹤你的應(yīng)用程序滾動(dòng)的流暢程度。 Scroll Hitch 指的就是滑動(dòng)界面時(shí),已渲染的圖像...
AsyncDisplayKit是由Facebook開(kāi)源的一款強(qiáng)大的異步渲染和布局引擎,可顯著提升頁(yè)面的流暢性。iOS SDK中UI繪制必須在主線程完成。這有助于簡(jiǎn)化代碼和避免...
iOS App的啟動(dòng)流程可以分成兩個(gè)階段 pre-main階段和main階段。 pre-main階段 系統(tǒng)將App的可執(zhí)行文件(Mach-O文件)和dyld加載到內(nèi)存,由dy...
基于信號(hào)的響應(yīng)式編程框架。 RACSignal信號(hào)基類(lèi)RACSignal(繼承自RACStream),調(diào)用createSignal:(RACDisposable * (^)(...
當(dāng)文件的位置變化時(shí),合并其他分支的代碼,會(huì)把兩個(gè)文件都保留下來(lái),而不會(huì)指示出文件的代碼沖突。 假設(shè)從A分支合并B分支,current.m是需要處理沖突的文件,其在B分支的位置...
本文對(duì)比iOS常用的幾種靜態(tài)分析工具,分析優(yōu)缺點(diǎn),并從中選出適合當(dāng)前工程的工具,本文的應(yīng)用系統(tǒng)為macOS。 clang xcode目前已經(jīng)集成了clang了,可以直接用Xc...
Objective-C在C的基礎(chǔ)上添加了面向?qū)ο蟮奶匦?,同時(shí)它是一種動(dòng)態(tài)編程語(yǔ)言,將靜態(tài)語(yǔ)言在編譯和鏈接時(shí)需要做的一些事情給延后到運(yùn)行時(shí)執(zhí)行。例如方法的調(diào)用,只有在程序執(zhí)行的...
1. iOS做一個(gè)自定義的彈窗類(lèi)時(shí),需要實(shí)現(xiàn)show和hide方法。一般來(lái)說(shuō),show方法就是將彈窗類(lèi)(以下稱(chēng)之為L(zhǎng)AlertView)加到window上,hide方法再將...