提要 剛開始學習iOS開發時用到了Cocoapods,安裝時踩了許多坑,現在總結一下之前的安裝經驗 1. 先安裝Homebrew 可能遇到的問題: 安裝Homebrew時總是...

提要 剛開始學習iOS開發時用到了Cocoapods,安裝時踩了許多坑,現在總結一下之前的安裝經驗 1. 先安裝Homebrew 可能遇到的問題: 安裝Homebrew時總是...
官方給出的dealloc 翻譯 外部在什么情況下會觸發dealloc方法? 當一個對象retain count為0 (不再有強引用指向)時會觸發dealloc。 注意直接把n...
ios本地數據存儲有哪幾種方法 1.NSUserDefaults類 2.Plist文件 3.歸檔接檔 4.數據庫 sqlite CoreData 5.第三方數據存儲框架 6...
整理的一些iOS面試相關問題,持續更新,敬請關注 1、2018 iOS面試題---UI相關:事件傳遞,圖像顯示,性能優化,離屏渲染[https://juejin.im/pos...
上周寫了篇關于iOS 分類的文章,我們可以在分類中定義屬性,但只是定義了屬性,編譯器既沒有生成相應的setter和getter方法,也沒有生成對應的成員屬性。如果想給對象動態...
Runtime的特性主要是消息(方法)傳遞,如果消息(方法)在對象中找不到,就進行轉發,具體怎么實現的呢。我們從下面幾個方面探尋Runtime的實現機制。 Runtime介紹...
工具[StarUML](鏈接: https://pan.baidu.com/s/14P7sHJ17euRJqgVI-7t_Mw) 密碼: yjfv 什么是ULM,它可以干什么...
前言:Method Swizzling是利用Objective C動態替換方法的IMP(執行函數)。常用的場景有兩個:1.Debug某些復雜函數; 2.在某無法修改源代碼的S...
為分類添加屬性 如果我們直接給分類添加屬性,然后去訪問程序就會閃退,因為分類中需要我們自己去寫這個屬性的set和get方法。 為分類中添加屬性需要使用到runtime.h中的...
前言 在上一篇文章中,我詳細的講解了一些基本關鍵詞以及基本概念。 SEL方法的名字,可以理解為字符串指針類型 id指向一個類的實例對象 isa每個類的示例對象都保存的指針,指...
Rumtime都能干什么 動態改變方法的執行體 Method Swizzling NSSelectorFromString,NSClassFromString… 動態添加屬性...
前言 啟動時間是衡量應用品質的重要指標。 本文首先會從原理上出發,講解iOS系統是如何啟動APP的,然后從main函數之前和main函數之后倆個角度去分析如何優化啟動時間。 ...