Runtime就是將面向?qū)ο箝_發(fā)轉(zhuǎn)換為面向過程 (一)instance,classObject,metaClass 對(duì)象的isa指針指向自己的元類(metaClass);對(duì)象...
Dart語言都是值傳遞,每次調(diào)用函數(shù)都是傳遞對(duì)象的內(nèi)存地址,而不是復(fù)制對(duì)象 優(yōu)點(diǎn):熱重載(Hot Reload) 缺點(diǎn):不支持熱更新,三方庫(kù)有限,需要自己造輪子 Flutte...
對(duì)象的釋放: NSObject調(diào)用dealloc后調(diào)用順序:dealloc --> objc_rootDealloc -->objc_dispose -->objc_dest...
+(void)load{static dispatch_once_t onceToken;dispatch_once(&onceToken,^{[LGRuntimeTool ...
在前文Dealloc中會(huì)調(diào)用objc_clear_deallocating; 此方法中會(huì)調(diào)用sidetable_clearDeallocating方法,實(shí)際最終會(huì)調(diào)用weak...
自動(dòng)釋放池構(gòu)造時(shí),會(huì)調(diào)用objc_autoreleasePoolPush()函數(shù); 自動(dòng)釋放池銷毀時(shí),會(huì)調(diào)用objc_autoreleasePoolPop()函數(shù); 其實(shí)就是...
+ (void)load方法 類的+load方法在main函數(shù)之前加載 然后是加載分類的+load方法 最后才加載main函數(shù) 原因:因?yàn)镺bjC 對(duì)于加載的管理主要使用了兩...
Runloop是一個(gè)對(duì)象,通過內(nèi)部維護(hù)的事件循環(huán) 去管理 事件和消息; Runloop是一些RunloopMode的集合; 常用的幾種運(yùn)行模式: kCFRunLoopDefa...
AutoreleasePool自動(dòng)釋放池,是 OC 中的一種內(nèi)存自動(dòng)回收機(jī)制,可以將加入自動(dòng)釋放池中的對(duì)象的release 時(shí)機(jī)延遲。當(dāng)自動(dòng)釋放池作用域結(jié)束時(shí),將池中的對(duì)象統(tǒng)...
FFmpeg框架在iOS平臺(tái)上的編譯和使用 1.使用環(huán)境 macOS Sierra 10.12.3 2.開發(fā)工具 Xcode 8.2.1 Terminal(終端) 3.需要下...
為什么會(huì)導(dǎo)致其他頁面的textfield不可點(diǎn)擊呢
增加UIButton的響應(yīng)區(qū)域經(jīng)常遇到UIButton對(duì)象"點(diǎn)了沒反應(yīng)"或"很難被點(diǎn)擊到"的情況. 有時(shí)候是因?yàn)槠鋐rame的size設(shè)置的過小, 導(dǎo)致體驗(yàn)不好. 解決辦法當(dāng)然是擴(kuò)大按鈕的響應(yīng)...
Serial Dispatch Queue,這叫做串行隊(duì)列,要等待上一個(gè)執(zhí)行完,再執(zhí)行下一個(gè); Concurrent Dispatch Queue,叫做并行隊(duì)列,不需要上一個(gè)...