• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            羅朝輝(飄飄白云)

            關(guān)注嵌入式操作系統(tǒng),移動(dòng)平臺(tái),圖形開發(fā)。-->加微博 ^_^

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              85 隨筆 :: 0 文章 :: 169 評(píng)論 :: 0 Trackbacks

            #

                 摘要: 如果我們?cè)?Objective C 中向一個(gè)對(duì)象發(fā)送它無法處理的消息,會(huì)出現(xiàn)什么情況呢?根據(jù)前文《深入淺出Cocoa之消息》的介紹,我們知道發(fā)送消息是通過 objc_send(id, SEL, ...) 來實(shí)現(xiàn)的,它會(huì)首先在對(duì)象的類對(duì)象的 cache,method list 以及父類對(duì)象的 cache, method list 中依次查找 SEL 對(duì)應(yīng)的 IMP;如果沒有找到且實(shí)現(xiàn)了動(dòng)態(tài)方法決議機(jī)制就會(huì)進(jìn)行決議,如果沒有實(shí)現(xiàn)動(dòng)態(tài)方法決議機(jī)制或決議失敗且實(shí)現(xiàn)了消息轉(zhuǎn)發(fā)機(jī)制就會(huì)進(jìn)入消息轉(zhuǎn)發(fā)流程,否則程序 crash。也就是說如果同時(shí)提供了動(dòng)態(tài)方法決議和消息轉(zhuǎn)發(fā),那么動(dòng)態(tài)方法決議先于消息轉(zhuǎn)發(fā),只有當(dāng)動(dòng)態(tài)方法決議依然無法正確決議 selector 的實(shí)現(xiàn),才會(huì)嘗試進(jìn)行消息轉(zhuǎn)發(fā)。在前文中,我并沒有詳細(xì)講解動(dòng)態(tài)方法決議,因此本文將詳細(xì)介紹之。  閱讀全文
            posted @ 2012-11-14 23:53 羅朝輝 閱讀(2370) | 評(píng)論 (0)編輯 收藏

                 摘要: iOS 游戲開發(fā)教程資源,來自 http://www.raywenderlich.com  閱讀全文
            posted @ 2012-11-10 22:45 羅朝輝 閱讀(1097) | 評(píng)論 (0)編輯 收藏

                 摘要: 在前一篇《[深入理解C++(一)]類型轉(zhuǎn)換(Type Casting)》中,我詳細(xì)講述了 C++ 中轉(zhuǎn)型動(dòng)作,以及使用規(guī)則。有網(wǎng)友說應(yīng)該提及下《深度探索 C++ 對(duì)象模型》一書中的內(nèi)容,其實(shí)他的意思是,要是對(duì) C++ 對(duì)象的內(nèi)存布局不甚了解,就想要徹悟C++中的類型轉(zhuǎn)型,對(duì)象切割,虛函數(shù)調(diào)用等,猶如脫離了堅(jiān)實(shí)的根基,想去建空中閣樓。理解 C++ 對(duì)象的內(nèi)存布局對(duì)學(xué)會(huì) C++來說至關(guān)重要,但我不打算寫 C++ 對(duì)象的內(nèi)存布局相關(guān)的文章,因?yàn)橐驹谇叭说募绨蛏希笈j愷?已經(jīng)就這個(gè)主題寫了三篇圖文并茂的文章:
            (一),C++ 虛函數(shù)表解析
            (二),C++ 對(duì)象的內(nèi)存布局(上)
            (三),C++ 對(duì)象的內(nèi)存布局(下)

            在繼續(xù)閱讀本文之前,建議先閱讀這三篇文章,以更好地理解本系列文章。在接下來的內(nèi)容中,我將從重載,重寫,屏蔽等概念入手,引入眾多接口繼承規(guī)則。  閱讀全文
            posted @ 2012-11-06 21:21 羅朝輝 閱讀(3245) | 評(píng)論 (5)編輯 收藏

                 摘要: 類型轉(zhuǎn)換就是將給定類型的表達(dá)式轉(zhuǎn)換為另一種類型。C++中的轉(zhuǎn)型可分為兩種:隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換。下面將詳細(xì)介紹這兩種轉(zhuǎn)型操作,以及各自的適用場(chǎng)景,潛在問題,最終將總結(jié)使用類型轉(zhuǎn)換操作應(yīng)牢記的原則。  閱讀全文
            posted @ 2012-10-28 21:44 羅朝輝 閱讀(6967) | 評(píng)論 (2)編輯 收藏

                 摘要: 當(dāng) timeout = 0, 即 Sleep(0),如果線程調(diào)度器的可運(yùn)行隊(duì)列中有大于或等于當(dāng)前線程優(yōu)先級(jí)的就緒線程存在,操作系統(tǒng)會(huì)將當(dāng)前線程從處理器上移除,調(diào)度其他優(yōu)先級(jí)高的就緒線程運(yùn)行;如果可運(yùn)行隊(duì)列中的沒有就緒線程或所有就緒線程的優(yōu)先級(jí)均低于當(dāng)前線程優(yōu)先級(jí),那么當(dāng)前線程會(huì)繼續(xù)執(zhí)行,就像沒有調(diào)用 Sleep(0)一樣。

            當(dāng) timeout > 0 時(shí),如:Sleep(1),會(huì)引發(fā)線程上下文切換:調(diào)用線程會(huì)從線程調(diào)度器的可運(yùn)行隊(duì)列中被移除一段時(shí)間,這個(gè)時(shí)間段約等于 timeout 所指定的時(shí)間長度。為什么說約等于呢?是因?yàn)樗邥r(shí)間單位為毫秒,這與系統(tǒng)的時(shí)間精度有關(guān)。通常情況下,系統(tǒng)的時(shí)間精度為 10 ms,那么指定任意少于 10 ms但大于 0 ms 的睡眠時(shí)間,均會(huì)向上求值為 10 ms。  閱讀全文
            posted @ 2012-10-11 20:04 羅朝輝 閱讀(6873) | 評(píng)論 (2)編輯 收藏

                 摘要: XCode 內(nèi)置GDB,我們可以在命令行中使用 GDB 命令來調(diào)試我們的程序。下面將介紹一些常用的命令以及調(diào)試技巧。  閱讀全文
            posted @ 2012-01-31 16:19 羅朝輝 閱讀(3282) | 評(píng)論 (0)編輯 收藏

                 摘要: 在前文中總結(jié)到“ObjC 為每個(gè)類的定義生成兩個(gè) objc_class ,一個(gè)即普通的 class,另一個(gè)即 metaclass。我們可以在運(yùn)行期創(chuàng)建這兩個(gè) objc_class 數(shù)據(jù)結(jié)構(gòu),然后使用 objc_addClass 動(dòng)態(tài)地創(chuàng)建新的類定義。”今天我們來如何在運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建類。下面這個(gè)函數(shù)就是應(yīng)用前面講到的Class,MetaClass的概念,在運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建一個(gè)類。  閱讀全文
            posted @ 2012-01-30 14:05 羅朝輝 閱讀(4678) | 評(píng)論 (2)編輯 收藏

                 摘要: 最近打算寫一些ObjC中比較底層的東西,尤其是 runtime 相關(guān)的。從哪里入手呢?那當(dāng)然是最基本的類與對(duì)象。與C++相比,ObjC中的類與對(duì)象結(jié)構(gòu)要簡(jiǎn)潔與一致得多(參考《深度探索C++對(duì)象模型》,你就知道C++中類與對(duì)象結(jié)構(gòu)的復(fù)雜)。本文將詳細(xì)講解ObjC中類與對(duì)象的結(jié)構(gòu),下回將講如何在 runtime 時(shí)操作類。

            總結(jié):ObjC 為每個(gè)類的定義生成兩個(gè) objc_class ,一個(gè)即普通的 class,另一個(gè)即 metaclass。我們可以在運(yùn)行期創(chuàng)建這兩個(gè) objc_class 數(shù)據(jù)結(jié)構(gòu),然后使用 objc_addClass 動(dòng)態(tài)地創(chuàng)建新的類定義。這個(gè)夠動(dòng)態(tài)夠強(qiáng)大的吧?下回講演示如何在運(yùn)行期動(dòng)態(tài)創(chuàng)建新類。  閱讀全文
            posted @ 2012-01-19 16:58 羅朝輝 閱讀(4732) | 評(píng)論 (5)編輯 收藏

                 摘要: 在前文深入淺出Cocoa之消息中,我簡(jiǎn)要介紹了ObjC 中消息的基本情況,包括SEL查找,緩存以及消息轉(zhuǎn)發(fā)等。在本文中,我要介紹一個(gè)很有趣的技術(shù),Method swizzling,通過這個(gè)手法,我們可以動(dòng)態(tài)修改方法的實(shí)現(xiàn),從而達(dá)到修改類行為的目的。當(dāng)然,還有其他辦法(如 ClassPosing,Category)也可以達(dá)到這個(gè)目的。ClassPosing 是針對(duì)類級(jí)別的,是重量級(jí)的手法,Category 也差不多,比較重量級(jí),此外 Category 還無法避免下面的遞歸死循環(huán)(如果你的代碼出現(xiàn)了如下形式的遞歸調(diào)用,應(yīng)該考慮一下你的設(shè)計(jì),而不是使用在這里介紹的 Method Swizzling 手法,:))。  閱讀全文
            posted @ 2012-01-05 17:02 羅朝輝 閱讀(2541) | 評(píng)論 (4)編輯 收藏

                 摘要: Three20 是 facebook 開源的一款功能齊全又強(qiáng)大的庫,覆蓋 UI,network,JSON/XML解析等。其 github 倉庫在這里:https://github.com/facebook/three20 ,這個(gè)頁面也有如何在工程中添加 three20 庫的介紹,不過在 Lion 系統(tǒng)下以及 xcode 4.2 下有些許不同,英文好的同學(xué)可以參看原文。現(xiàn)整理如下:  閱讀全文
            posted @ 2011-12-31 17:45 羅朝輝 閱讀(2797) | 評(píng)論 (0)編輯 收藏

            列出全部?jī)?nèi)容
            共9頁: 1 2 3 4 5 6 7 8 9 
            色播久久人人爽人人爽人人片aV | 亚洲AV无码久久寂寞少妇| 99久久精品毛片免费播放| 亚洲成色999久久网站| 久久国产成人午夜AV影院| 亚洲中文久久精品无码ww16 | 久久超碰97人人做人人爱| 伊人久久综合热线大杳蕉下载| 亚洲欧美一级久久精品| 91亚洲国产成人久久精品网址| 中文字幕无码久久精品青草| 精品免费tv久久久久久久| 国内精品九九久久精品| 精品国产青草久久久久福利| 看久久久久久a级毛片| 久久久久亚洲AV成人网| 99久久99久久精品免费看蜜桃| 久久久久亚洲AV无码专区网站| 国产精品久久久久久久久免费| 久久久久亚洲AV无码观看| 亚洲国产成人久久综合一区77| 日本久久中文字幕| 久久这里只精品99re66| 国产精品青草久久久久婷婷| 久久国产视频网| 国产69精品久久久久APP下载| 亚洲成色WWW久久网站| 思思久久精品在热线热| 品成人欧美大片久久国产欧美| 中文字幕日本人妻久久久免费| 欧洲性大片xxxxx久久久| 国产成人久久精品区一区二区| 一本色综合网久久| 99久久精品免费看国产一区二区三区| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久精品国产亚洲av麻豆蜜芽| 久久久久久无码国产精品中文字幕| 久久精品国产亚洲77777| 伊人色综合久久天天人手人婷| 久久精品免费一区二区| 蜜桃麻豆WWW久久囤产精品|