都是用來控制某個函數(shù)在一定時間內(nèi)執(zhí)行多少次的解決方案。 debounce 當調(diào)用動作觸發(fā)一段時間后,才會執(zhí)行該動作,弱在這段時間間隔內(nèi)又調(diào)用此動作則將重新計算時間間隔。 th...
NSDictionary是使用hash表來實現(xiàn)key和value之間的映射和存儲的,hash函數(shù)設計的好壞影響著數(shù)據(jù)的查找的訪問效率。數(shù)據(jù)在hash表中分布的越均勻,其訪問效...
Application:存放程序源文件,上架前經(jīng)過數(shù)字簽名,上架后不可修改; Document:常用目錄,iCloud備份目錄,存放數(shù)據(jù)。(這里不能存緩存文件,否則上架不被通...
繪制一個UIView最靈活的方法就是由它自己完成繪制。實際上你不是繪制一個UIView,而是子類化一個UIView并賦予繪制自己的能力。當一個UIView需要繪制操作時,dr...
棧區(qū)(stack) 由編譯器自動分配并釋放,存放函數(shù)的參數(shù)值,局部變量等。棧是系統(tǒng)數(shù)據(jù)結(jié)構(gòu),對應線程/進程是唯一的。優(yōu)點是快速高效,缺點是有限制,數(shù)據(jù)不靈活 [先進后出] 棧...
CGPoint 在OC中是一個結(jié)構(gòu)體,結(jié)構(gòu)體一般采用內(nèi)存對齊的方式分配,比如:結(jié)構(gòu)體內(nèi)有 char、float、int、 long 、double幾種數(shù)據(jù)類型。 char 1...
Apple 人機交互指南中指出,按鈕點擊熱區(qū)應不小于44x44pt,否則這個按鈕就會讓用戶覺得“很難用”。解決方法是重寫按鈕中的pointInside方法,使得按鈕熱區(qū)不夠4...
區(qū)別 Auto Layout 是針對多尺寸屏幕的設計。其本質(zhì)是通過線性不等式設置UI控件的相對位置,從而適配多種 iPhone / iPad屏幕的尺寸。 Frame 是基于 ...
這個類被release的時候會被調(diào)用; 這個對象的retain count 為 0 的時候會被調(diào)用;或者說一個對象或者被置nil的時候。
load 是只要類所在的文件被引用就會被調(diào)用,而initialize 是在類或者其子類的第一個方法被調(diào)用前調(diào)用。所以 如果類沒有被引用進項目,就不會調(diào)用load方法; 即使類...
重寫 object 的 respondsToSelector 方法,實現(xiàn)出現(xiàn) EXEC_BAD_ACCESS前,訪問的最后一個 object; 開啟項目中的Zombie檢測;...
關于Mode首先要知道一個RunLoop 對象中可能包含多個Mode,且每次調(diào)用 RunLoop 的主函數(shù)時,只能指定其中一個 Mode(CurrentMode)。切換 Mo...
不能向編譯后得到的類中怎家實例變量; 能向運行時創(chuàng)建的類中添加實例變量; 原因: 因為編譯后的類已經(jīng)注冊在 runtime 中,類結(jié)構(gòu)體中的 objc_ivar_list 實...