獲取設備的移動事件 當我們移動,晃動,或者傾斜手機的時候柒傻,這些動作都會被設備的硬件捕獲。其實每一個動都都會在 X, Y, Z 三個方向上產生速度...
0x01 春節(jié)閑著沒事(是有多閑)灭必,就寫了個簡單的程序探入,來爬點笑話看埃唯,順帶記錄下寫程序的過程析蝴。第一次接觸爬蟲是看了這么一個帖子害捕,一個逗逼,爬取煎...
不少小伙伴們升級到 macOS Sierra 10.12.1 后在升級引導界面被坑了一把尝盼,就是把桌面和文檔自動同步到 iCloud 中,導致消耗...
在日常開發(fā)過程中佑菩,為了提升程序運行效率盾沫,以及用戶體驗裁赠,我們經(jīng)常使用多線程。在使用多線程的過程中赴精,難免會遇到資源競爭問題佩捞。我們采用鎖的機制來確保線...
定義屬性 當編譯器碰到屬性聲明的時候,會生成和類蕾哟,類別一忱,協(xié)議相關的描述性元數(shù)據(jù),在類和協(xié)議中渐苏,你可以通過名字來訪問屬性的源數(shù)據(jù)掀潮,你可以通過使用 ...
類型編碼 為了協(xié)助 runtime 系統(tǒng)菇夸,編譯器將吧參數(shù)和返回值編碼為字符串琼富,并把這個字符串和方法選擇器關聯(lián)起來。在其他上下文中庄新,這種編碼方案同...
Message Forwarding 給一個對象發(fā)消息鞠眉,如果這個對象不處理的話,那么將會產生一個錯誤择诈。但是在拋出錯誤之前械蹋,runtime 系統(tǒng)給...
動態(tài)方法解析 這一章解釋了怎樣動態(tài)的提供一個方法的實現(xiàn)。 動態(tài)方法解析 當你想動態(tài)的提供一個方法的實現(xiàn)的時候羞芍,用 @dynamic 來定義一個屬...
Messaging 這一章講述消息怎樣被轉換為 objc_msgSend 方法的調用哗戈,如何通過名稱引用方法,如何利用 objc_msgSend荷科,...