Block的分類 Block有三種類型:全局Block馍惹,堆區(qū)Block,棧區(qū)Block 全局Block 當(dāng)Block沒有引用到局部變量時(shí)或者Bl...
上篇文章介紹synchronized鎖玛界,今天介紹的是其他常用鎖:NSLock万矾,NSRecursiveLock ,NSCondition慎框,NSCo...
iOS中有哪些鎖呢良狈? OSSpinLock,dispatch_semaphore_t笨枯,os_unfair_lock薪丁,pthread_mutex_...
線程和進(jìn)程的區(qū)別 進(jìn)程:每個(gè)進(jìn)程都有獨(dú)立的代碼和數(shù)據(jù)空間(進(jìn)程上下文)遇西,進(jìn)程間的切換會(huì)有較大的開銷,一個(gè)進(jìn)程包含1--n個(gè)線程严嗜。(進(jìn)程是資源分配...
load和initialize方法的調(diào)用原則和調(diào)用順序粱檀? load方法的調(diào)用時(shí)在dyld加載程序的時(shí)候調(diào)用,在main函數(shù)之前漫玄,調(diào)用順序:父類茄蚯,...
上篇文章講了類是如何加載的,但是我們只看到了類里面的方法睦优,屬性和協(xié)議的加載渗常,并沒有看到分類加載,這篇文章介紹分類的加載汗盘。 分類加載 1. 分類的...
上篇文章我們已經(jīng)了解到objc_init調(diào)用_dyld_objc_notify_register注冊(cè)了load_image,load_image...
本篇文章主要是探索程序啟動(dòng)流程凳谦。 load方法斷點(diǎn) 首先我們來個(gè)簡(jiǎn)單程序 通過打印我們知道+load > c++構(gòu)造函數(shù) > main接下來我們...
cache的獲取 通過名字我們猜測(cè)cache應(yīng)該是緩存,但是到底是緩存了什么呢衡未?這個(gè)就需要探索了首先獲取cache尸执,通過之前的篇章我們知道,要獲...