一轨淌、Timer Profiler簡(jiǎn)述 使用時(shí)間分析器工具對(duì)系統(tǒng)CPU上運(yùn)行的進(jìn)程執(zhí)行低開(kāi)銷、基于時(shí)間的采樣看尼。隨著時(shí)間的推移递鹉,多核和線程的使用效率越高,應(yīng)用程序的性能就越好狡忙。 ...
一轨淌、Timer Profiler簡(jiǎn)述 使用時(shí)間分析器工具對(duì)系統(tǒng)CPU上運(yùn)行的進(jìn)程執(zhí)行低開(kāi)銷、基于時(shí)間的采樣看尼。隨著時(shí)間的推移递鹉,多核和線程的使用效率越高,應(yīng)用程序的性能就越好狡忙。 ...
最近在看線程笔荒溃活砰左,發(fā)現(xiàn)了這個(gè)函數(shù)無(wú)法理解,根本原因還是這個(gè)函數(shù)的蘋(píng)果文檔沒(méi)有深入理解场航,然后沒(méi)有多做嘗試缠导。 先說(shuō)結(jié)論,再說(shuō)過(guò)程溉痢。結(jié)論:1)runMode:beforeDate只...
1僻造、__weak修飾符的使用案例 在開(kāi)發(fā)的過(guò)程中憋他,可能回遇到循環(huán)引用的問(wèn)題。所謂循環(huán)引用髓削,當(dāng)對(duì)象A持有了對(duì)象B竹挡,與此同時(shí)對(duì)象B同時(shí)也持有對(duì)象A時(shí),此時(shí)對(duì)象A銷毀需要對(duì)象B先銷...
在平日編程中或閱讀第三方代碼時(shí)立膛,category可以說(shuō)是無(wú)處不在揪罕。category也可以說(shuō)是OC作為一門(mén)動(dòng)態(tài)語(yǔ)言的一大特色。category為我們動(dòng)態(tài)擴(kuò)展類的功能提供了可能旧巾,...
Method Swizzling Method-Swizzling實(shí)際就是更換方法所對(duì)應(yīng)的實(shí)現(xiàn)函數(shù)(IMP)耸序,其主要作用是在運(yùn)行時(shí)將一個(gè)方法的實(shí)現(xiàn)替換成另一個(gè)方法的實(shí)現(xiàn),這就...
1鲁猩、類中方法的存儲(chǔ) cache_t中的方法存儲(chǔ) cache_t cache方法緩存中坎怪,方法的存儲(chǔ)是以SEL和IMP的形式。 class_data_bits_t中方法存儲(chǔ) 在類...
1廓握、Runtime的定義 將源代碼轉(zhuǎn)換為可執(zhí)行的程序搅窿,通常要經(jīng)過(guò)三個(gè)步驟:編譯、鏈接隙券、運(yùn)行男应。 Objective-C 語(yǔ)言 是一門(mén)動(dòng)態(tài)語(yǔ)言,在編譯階段并不知道變量的具體數(shù)據(jù)類...
Scheme的理解 我們都知道娱仔,蘋(píng)果系統(tǒng)使用沙盒機(jī)制來(lái)保障用戶的隱私和安全沐飘,一個(gè)App只能訪問(wèn)自己的沙盒,不能訪問(wèn)其他app的信息牲迫。這樣保證了app的用戶的信息的同時(shí)耐朴,也阻礙...
Block的定義 Blocks是C語(yǔ)言的擴(kuò)充功能№镌鳎可以用一句話來(lái)表示Blocks的擴(kuò)充功能:帶有自動(dòng)變量(局部變量)的匿名函數(shù)筛峭。 Block的語(yǔ)法聲明:返回值類型 (^變量名...
dispatch_once一次性函數(shù) 該函數(shù)對(duì)于block中的任務(wù)只執(zhí)行一次。 在iOS開(kāi)發(fā)過(guò)程中陪每,經(jīng)常使用dispatch_once去創(chuàng)建一個(gè)單例影晓,來(lái)保證對(duì)象的唯一性。 函...
隊(duì)列與任務(wù) 任務(wù)task 就是需要執(zhí)行的操作檩禾,是GCD中放在block中挂签,需要在線程中執(zhí)行的那段代碼。 執(zhí)行方式盼产,有兩種: 同步執(zhí)行把任務(wù)同步添加到指定的隊(duì)列中竹握。在隊(duì)列中,之...
多線程原理 進(jìn)程 進(jìn)程是指在系統(tǒng)中正在運(yùn)行的一個(gè)應(yīng)用程序辆飘。(A process is an executing instance of an application. ) 每...
KVO概述 KVO啦辐,或者key-value observing,是可以對(duì)OC對(duì)象的屬性進(jìn)行觀察蜈项,并在屬性發(fā)生改變的的時(shí)候芹关,發(fā)出通知的神奇魔法。之所以稱之為神奇紧卒,是因?yàn)镵VO是...
iOS KVC小結(jié) KVC的概念 KVC轴总,即Key-value coding,鍵值編碼博个。給我們提供了一套更加直接的方式怀樟,來(lái)訪問(wèn)一個(gè)對(duì)象的屬性,或者給對(duì)象的屬性賦值盆佣。而不是通過(guò)...
markdown的標(biāo)題 # 一級(jí)標(biāo)題往堡,在文字前面增加一個(gè)“#” ## 二級(jí)標(biāo)題,在文字前面增加兩個(gè)“##” ### 三級(jí)標(biāo)題共耍,在文字的前面增加三個(gè)“###” #### 四級(jí)標(biāo)...