iOS學(xué)習(xí)筆記(8-26)

NSDictionary

1、底層是哈希表+拉鏈法
2、對(duì)_CFDictionary的封裝
3、字典的hash實(shí)現(xiàn)非常任性的返回了鍵值對(duì)個(gè)數(shù)※※※※

NSMutableArray

1、連續(xù)的存儲(chǔ)空間
2、取的某個(gè)下標(biāo)下存儲(chǔ)數(shù)據(jù)的時(shí)間幾乎相同
3、存儲(chǔ)空間不夠的時(shí)候會(huì)整體復(fù)制到一個(gè)新的存儲(chǔ)空間(數(shù)量巨大則會(huì)消耗成倍時(shí)間)
4、arrayWithCapacity會(huì)直接取的一塊大于連續(xù)空間的內(nèi)存(貌似不會(huì)相等,試了好多次,沒有相等過)

TaggedPointer

1、NSDate/NSNumber
2、當(dāng)少于九個(gè)純ASCII時(shí)候,NSString也是該類型。一旦有其余類型,則立即變?yōu)開NSCFString
3、無isa指針

1、synchronized 關(guān)鍵字加鎖 互斥鎖,性能較差不推薦使用
2、NSLock 互斥鎖 不能多次調(diào)用 lock方法,會(huì)造成死鎖
3、 NSRecursiveLock 遞歸鎖
4、dispatch_semaphore 信號(hào)量實(shí)現(xiàn)加鎖

內(nèi)存管理

1、ARC
2、修飾符
3、棧,堆,全局/靜態(tài),常量,代碼各區(qū)

Block

1、NSStackBlock存儲(chǔ)于棧區(qū),NSGlobalBlock存儲(chǔ)于程序數(shù)據(jù)區(qū),NSMallocBlock存儲(chǔ)于堆區(qū)
2、block中引用外部變量,則生成在堆。方法中帶block是棧區(qū)。block自己玩就是數(shù)據(jù)區(qū)。

layoutSubviews

1、有子視圖才會(huì)調(diào)用
2、在1的前提下。addsubview 會(huì)調(diào)用,自己view的frame發(fā)生變化時(shí)候,自己的子view發(fā)生frame變化時(shí)候,滾動(dòng)的時(shí)候,屏幕旋轉(zhuǎn)的時(shí)候。

iOS 用戶響應(yīng)事件

1、UITouch、UIControl、UIGestureRecognizer

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容