線程安全 在iOS開發(fā)中經(jīng)常會(huì)遇到一塊資源被多個(gè)線程共享的情況棺牧,也就是多個(gè)線程會(huì)訪問同一塊資源喉磁,比如多個(gè)線程訪問同一個(gè)對(duì)象息堂、同一個(gè)變量胯舷、同一個(gè)文...
RunLoop:運(yùn)行循環(huán)察纯,可以讓程序不會(huì)馬上退出频蛔,而是保持運(yùn)行狀態(tài) 夫凸, RunLoop的基本作用 保持程序的持續(xù)運(yùn)行 處理app中的各種事件(觸...
objc_msgSend執(zhí)行流程 OC中的方法調(diào)用甜攀,其實(shí)都是轉(zhuǎn)換為objc_msgSend函數(shù)的調(diào)用 在底層會(huì)這么調(diào)用objc_msgSend(...
Objective-C是一門動(dòng)態(tài)性比較強(qiáng)的編程語(yǔ)言秋泄,跟C琐馆、C++等語(yǔ)言有著很大的不同,Object-C的函數(shù)調(diào)用不是在編譯時(shí)期決定的恒序,而是在運(yùn)行...
block本質(zhì)上也是一個(gè)OC對(duì)象瘦麸,它內(nèi)部也有個(gè)isa指針,block是封裝了函數(shù)調(diào)用以及函數(shù)調(diào)用環(huán)境的OC對(duì)象歧胁。 Block的底層結(jié)構(gòu) bloc...
Category VS Extension Category category只能給某個(gè)已有的類擴(kuò)充方法滋饲,不能擴(kuò)充成員變量 category中也...
laod和initialize +load +load方法會(huì)在runtime加載類、分類時(shí)調(diào)用喊巍,每個(gè)類屠缭、分類的+load,在程序運(yùn)行過(guò)程中只調(diào)用...
KVO KVO的全稱是Key-Value Observing崭参,俗稱“鍵值監(jiān)聽”呵曹,可以用于監(jiān)聽某個(gè)對(duì)象屬性值的改變,被監(jiān)聽的類會(huì)創(chuàng)建繼承于被監(jiān)聽類...
1.一個(gè)NSObject對(duì)象占用多少內(nèi)存 NSObject *obj = [[NSObject alloc] init];,obj占16個(gè)字節(jié)何暮,...