項目情況 AppDelegate三方庫初始化較多,-didFinishLaunchingWithOptions:首屏展示慢。 三方庫手動導入,文件目錄混雜。 MVC架構,Vi...
結(jié)構型設計模式 用于處理類或?qū)ο蟮慕M合 一、橋接模式 - Bridge Pattern 把事物對象和其具體特征分享開來,使它們可以各自獨立變化。如圓形、三角形歸于抽象的形狀之...
背景 更新完系統(tǒng),發(fā)現(xiàn)自己一個mac應用開機自啟失敗。表現(xiàn)為方法調(diào)用返回 false 查詢發(fā)現(xiàn)macOS 13.0 更新了一個新類 SMAppService[https://...
常用方法響應 -rac_signalForSelector: 使用: 源碼 NSObject+RACSelectorSignal RAC 監(jiān)聽方法前后,類結(jié)構圖
常用KVO宏 RACObserve(<#TARGET#>, <#KEYPATH#>) 使用: 源碼 宏定義 NSObject (RACPropertySubscribing)...
2021-08-05更新
1、標明了測試代碼的ARC、MRC環(huán)境
2、添加了ARC下NSStackBlock的測試代碼
iOS - block一、簡述block 分類: NSGlobalBlock、NSMallocBlock和NSstackBlock,通過內(nèi)存的分部部局來分類。block就是保存一段代碼塊,想用的時...
打開 Malloc Stack LoggingEdit Scheme Run -> Diagnostics -> Memory Management選擇 Malloc Sta...
官方介紹[https://developer.apple.com/widgets/] 介紹 Widget可以將應用中的關鍵內(nèi)容顯示在iPhone、iPad和Mac上的醒目的位...
Tagged Pointer 從64位系統(tǒng)開始,iOS引入了TaggedPointer技術,用于優(yōu)化小對象(NSNumber、NSData)的存儲。 https://deve...
Swift的可選類型,用于處理值缺失的情況。可選表示"那兒有一個值,并且它等于x"或者"那兒沒有值"。Swift語言定義后綴?作為命名類型Opetional的縮寫,換句話說,...
避免重復,DRY(Don't repeat yourself):如果你準備在不同地方寫同一段代碼,那么只寫一個方法。如果不止一次硬編碼某個值,那么將其聲明成public fi...
一、類別中添加屬性 新建一個Person類, 添加一個name屬性。 建一個Person類的類別stature,添加一個height屬性。 然后在調(diào)用的時候發(fā)現(xiàn) setHei...
消息發(fā)送 第二句中,mstr稱為消息接收者,appendString:稱為選擇器,也就是我們常用的selector,selector和參數(shù)共同構成了消息,所以第二句話可以理解...
Runtime是一套C語言的API,封裝了很多動態(tài)性相關的函數(shù),平時編寫的OC代碼,底層都是轉(zhuǎn)換成了Runtime API進行調(diào)用。Runtime主要是用于在程序運行過程中,...