棧地址是0x7ffeefbff56c這樣的,堆地址是0x100706b90這樣的,可以看一下iOS中內(nèi)存區(qū)域劃分,http://www.itdecent.cn/p/62478abda580
一、+ (void)load 對于每一個Class和Category來說,必定會調(diào)用此方法,而且僅調(diào)用一次。當包含Class和Category的程序庫載入系統(tǒng)時,就會執(zhí)行此方...
組件化 本文主要介紹組件化常用三種通訊方式. 常?的三種組件化通訊方案 組件化通信方案組件化最重要的是兄弟模塊的通訊常?的三種方案URL SchemeTarget - Act...
作者辛苦了
iOS組件化及架構(gòu)設(shè)計關(guān)于組件化 網(wǎng)上組件化的文章很多。很多文章一提到組件化,就會說解耦,一說到解耦就會說路由或者runtime。好像組件化 == 解耦 == 路由/Runtime,然而這是一個非...
對技術(shù)的極致追求
[轉(zhuǎn)]iOS應用架構(gòu)談 組件化方案前言: 本文轉(zhuǎn)自前同事casa的博文,這篇文章是基于runtime實現(xiàn)的iOS組件化方案,其實iOS組件化方案基本是兩派,一派是蘑菇街、一號店這些用的通過depplink自定...
不知道什么時候開始,寫代碼只要有block就在block里面寫如下代碼: 首先解釋一下,為什么外面使用weakSelf? 如果self持有block,block里也持有sel...
在block中調(diào)用self就回造成循環(huán)引用?當然不是。要創(chuàng)造出一個循環(huán)引用的block需要兩個條件:1、在block中引用了self2、對block做了copy操作 例如: ...
“我們可以看到,當存儲在棧上的__block變量被棧BLock使用時,__block變量被拷貝到了堆上(被堆BLock強引用)?!?br>哪里copy了?
[iOS]Block系列探究四 - __block變量存儲域上一篇文章研究了一下Block的存儲域,這一篇文章我們來研究下__block變量的存儲域。 一、__block變量不能聲明為全局變量 當我們將__block聲明為全局變量的時...
"如果沒有捕獲變量或者捕獲靜態(tài)/全局變量(變量存儲在數(shù)據(jù)區(qū))則為_NSConcreteGlobalBlock",這個沒有捕獲變量應該怎么理解?
[iOS]Block系列探究三 - Block存儲域我們知道應用程序的內(nèi)存分配有四個區(qū): 程序區(qū)域(.text區(qū))- 存放函數(shù)體的二進制代碼。 數(shù)據(jù)區(qū)域(.data區(qū))- 主要包括靜態(tài)全局區(qū)(全局變量和靜態(tài)變量的存儲是放在一塊...
上一篇文章中我們得知了OC的block其實就是C的函數(shù)指針,這一篇文章我們來研究下block與局部變量的各種化學反應。 一、截獲變量 我們主要截獲三種變量,分別是全局變量、靜...
寫的非常好,感謝
iOS之Block深度學習Block基礎(chǔ)回顧 1.什么是Block? 帶有局部變量的匿名函數(shù)(名字不重要,知道怎么用就行),差不多就與C語言中的函數(shù)指針類似,可以當做參數(shù)傳來傳去,而且可以沒有名字。 ...