青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

拂曉·明月·彎刀

觀望,等待只能讓出現(xiàn)的機會白白溜走

  C++博客 :: 首頁 ::  :: 聯(lián)系 :: 聚合  :: 管理 ::

以下筆記參考網(wǎng)站:http://blog.csdn.net/huanglx1984/archive/2009/07/06/4325377.aspx

  1. 目前好象只有Apple使用Objective-C作為其支持的語言吧。
  2. 與C++的不同之處有:
    • O-C中所有的類都必須繼承自NSObject。
    • O-C中所有對象都是指針的形式。
    • O-C用self代替this。
    • O-C使用id代替void*。
    • O-C使用nil表示NULL
    • O-Ck只支持單繼承。
    • O-C使用YES/NO表示TRUE/FALSE
    • O-C使用#import代替#include
    • O-C中用消息表示類的方法,并采用[aInstance method:argv]調(diào)用形式。
    • O-C支持反射機制
    • O-C支持Dynamic Typing, Dynamic Binding和Dynamic Loading
  3. 與C++的相同之處有:
    • 與C共享的部分一致。
    • 可以使用assert(BOOL), 一般用NSCParameterAssert(BOOL)代替。
  4. O-C中的命名前綴說明:
    • NS-:NextStep
    • CF-:Core Foundation
    • CA-:Core Animation
    • CG-:Core Graphics
    • UI-:User Interface
  5. O-C中的消息特殊性:
    • 調(diào)用消息的類可以不知道如何響應(yīng)這個消息。如果它不知道如何處理這個消息,它會自動的將這個消息轉(zhuǎn)給其他的類,比如它的父類。
    • 調(diào)用消息的類可以是nil。在C++中,在使用類方法之前,我們都需要檢查對象是否為空,所以在實現(xiàn)析構(gòu)函數(shù)的時候,常會有如下的代碼,如if (var) { delete var; } 但是在objective c中,我們就可以直接寫[var release]; 即使var == nil, 也不會有問題。
  6. O-C中的函數(shù)聲明格式有:
    • -/+ (return type) function_name;

    • -/+ (return type) function_name : (parameter type) parameter;

    • -/+ (return type) function_name : (parameter type) parameter1 otherParameter : (parameter_type) parameter2

    • 以上參數(shù)說明:-表示一般函數(shù),+表示靜態(tài)函數(shù)。otherParameter是參數(shù)的別名(第一個參數(shù)的別名省略),在函數(shù)調(diào)用時方便指定。

  7. O-C中的構(gòu)造/析構(gòu)函數(shù)

    • O-C中的init()/release()對應(yīng)于C++的構(gòu)造/析構(gòu)函數(shù)。alloc()/dealloc()也就對應(yīng)于C++的new和delete,其中的dealloc()由于引用計數(shù)的自動調(diào)用而不用手動調(diào)用。

    • O-C中父類的init()/release()函數(shù)需要子類的手動調(diào)用。而且每次都必須調(diào)用。不同于C++的自動調(diào)用。

    • 構(gòu)造函數(shù)(- (id) init)調(diào)用形如:CSample* pSample=[CSample alloc] init];其中alloc(+ (id) alloc)是繼承來的static函數(shù),init是繼承來的一般函數(shù),如重寫一般函數(shù)時,則相當(dāng)于C++的覆蓋(不帶參數(shù))或重載(帶參數(shù))。

    • 析構(gòu)函數(shù)(- (void) release)將引用計數(shù)減1,當(dāng)=0時父類的release()會自動調(diào)用dealloc(- (void) dealloc);

  8. 當(dāng)O-C沒有數(shù)據(jù)成員時,可省略{},建議保留。

  9. 繼承下來的方法,如:-(id) init可以頭文件中省略,建議保留

  10. 0-C中只有數(shù)據(jù)成員的訪問限制,沒有方法的訪問限制。

    • 同C++一樣,數(shù)據(jù)成員有三種訪問限制public, protected, private,缺省是protected。

    • 示例:@interface AccessExample: NSObject {
      @public
      int publicVar;
      @protected
      int protectedVar;
      @private
      int privateVar;
      }
      @end

    • 方法的訪問限制可通過Category實現(xiàn)

    • 示例:

      @interface MyClass

      - (void) sayHello {

      NSLog(@"Hello");

      }

      @end


      @interface MyClass(Private)

      - (void) kissGoodbye;

      @end

  11. O-C中沒有類的靜態(tài)變量,只有全局變量

  12. O-C中的數(shù)組NSArray可以保存不同類型的數(shù)據(jù)。

  13. O-C也支持run-time時的類類型檢查

    • - (BOOL) isKindOfClass: classObj
      用于判斷該對象是否屬于某個類或者它的子類

    • - (BOOL) isMemberOfClass: classObj
      用于判斷該對象是否屬于某個類(這里不包括子類)

    • - (BOOL) respondsToSelector: selector
      用于判斷該對象是否能響應(yīng)某個消息。這里,我們可以將@selector后面帶的參數(shù)理解為C++中的函數(shù)指針。
      注意:1)不要忘了@ 2)@selector后面用的是(),而不是[]。3)要在消息名稱后面跟:,無論這個消息是否帶參數(shù)。如:[pSquare respondsToSelector:@selector(Set: andHeight:)]。

    • + (BOOL) instancesRespondToSelector: selector
      用于判斷該類是否能響應(yīng)某個消息。這是一個靜態(tài)函數(shù)。

    • -(id) performSelector: selector :調(diào)用對象的selector方法。

    • conformsToProtocol 類似于respondsToSelector ,用于動態(tài)檢查某個對象是否遵守某個協(xié)議。

  14. Category:在沒有源代碼的情況下,為一個已經(jīng)存在的類添加一些新的功能

    • 只能添加新的方法,不能添加新的數(shù)據(jù)成員

    • Category 的名字必須是唯一的

  15. Protocol:相當(dāng)于C++中的純虛類

    • 形如:@interface MyDate: NSObject <Printing> { } @end
    • 使用:MyDate * dat = [[MyDate alloc] init]; id<Printing> var = dat; [var print]。
    • 說明:我們首先聲明了Printing 協(xié)議,任何遵守這個協(xié)議的類,都必須實現(xiàn)print 方法。在Objective C 中,我們通過<>來表示遵守某個協(xié)議。當(dāng)某個類聲明要遵守某個協(xié)議之后,它就必須在.m文件中實現(xiàn)這個協(xié)議中的所有方法。使用id<Printing> 作為類型,而不是象C++中的Printing* var。
  16. IBOutlet, IBAction: 這兩個東西其實在語法中沒有太大的作用。如果你希望在Interface Builder中能看到這個控件對象,那么在定義的時候前面加上IBOutlet,在IB里就能看到這個對象的outlet,如果你希望在Interface Builder里控制某個對象執(zhí)行某些動作,就在方法前面加上(IBAction)。
  17. 盡量避免在一行語句中進行兩層以上的嵌套
  18. 消息轉(zhuǎn)發(fā):- (void) forwardInvocation: (NSInvocation*)anInvocation;

Technorati :
Del.icio.us :
Zooomr :
Flickr :

posted on 2009-08-25 08:39 一路風(fēng)塵 閱讀(2592) 評論(2)  編輯 收藏 引用 所屬分類: iPhone編程

評論

# re: Objective-C學(xué)習(xí)筆記[未登錄] 2009-08-25 09:48 Davy.xu
OC是一種神奇的語言,火星編程語言  回復(fù)  更多評論
  

# re: Objective-C學(xué)習(xí)筆記 2009-08-25 17:28 wells
@Davy.xu
真逗!  回復(fù)  更多評論
  


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩激情小视频| 久久三级视频| 欧美大秀在线观看| 亚洲欧洲视频在线| 亚洲高清视频一区二区| 免费精品视频| 中文国产一区| 亚洲一二三区在线| 国产婷婷色一区二区三区在线 | 欧美一区二区视频在线观看2020| 国产精品视频午夜| 久久久久一区二区三区四区| 久久人人爽爽爽人久久久| 亚洲人成在线播放| 亚洲精品国偷自产在线99热| 欧美午夜免费电影| 久久久一本精品99久久精品66| 久久一区二区视频| 一区二区三区欧美日韩| 亚洲欧美日韩爽爽影院| 136国产福利精品导航网址| 亚洲高清不卡av| 国产精品视频一二三| 美国三级日本三级久久99| 欧美久久久久久久| 欧美一区不卡| 欧美激情一区二区三区四区| 亚洲欧美日韩精品一区二区| 久久久精品一区| 亚洲一区二区3| 久久久综合精品| 亚洲一区二区三区色| 久久久99国产精品免费| 一本色道88久久加勒比精品| 久久大逼视频| 亚洲视频一区二区| 久久综合99re88久久爱| 亚洲女ⅴideoshd黑人| 免费成人高清视频| 久久精品欧洲| 国产精品久久久久9999高清| 欧美激情影音先锋| 国内揄拍国内精品少妇国语| 一区二区精品在线| 日韩网站免费观看| 久久精品五月| 久久国产精品黑丝| 欧美日韩国产在线播放网站| 欧美好吊妞视频| 国产一区91| 亚洲欧美日韩精品久久| 亚洲午夜av| 欧美成人免费视频| 欧美va天堂va视频va在线| 国产一区二区精品久久| 亚洲欧美国产高清va在线播| 亚洲一级黄色| 欧美午夜片在线免费观看| 亚洲娇小video精品| 亚洲国内自拍| 久久综合久色欧美综合狠狠| 免费观看成人www动漫视频| 国产伊人精品| 欧美一区午夜精品| 久久国产精品毛片| 国产麻豆精品在线观看| 亚洲少妇在线| 欧美亚洲综合久久| 国产午夜精品全部视频在线播放| 亚洲视频在线观看免费| 亚洲欧美色婷婷| 国产精品一区三区| 欧美一区二区私人影院日本 | 午夜精品国产精品大乳美女| 欧美日韩国产色视频| 亚洲精品黄网在线观看| 亚洲视频欧洲视频| 国产精品久久久一区二区三区| 一区二区三区日韩欧美| 欧美伊人影院| 狠狠色狠狠色综合日日tαg| 久久青青草原一区二区| 欧美第一黄色网| 日韩视频在线免费观看| 欧美日韩欧美一区二区| 亚洲在线视频| 久久免费黄色| 日韩午夜剧场| 国产精品国产一区二区| 午夜日韩av| 亚洲福利视频网站| 亚洲男人第一网站| 国外成人网址| 欧美高清视频www夜色资源网| 一区二区三区精密机械公司| 久久精品盗摄| 亚洲精品国产精品国产自| 欧美色区777第一页| 欧美一区二区三区日韩| 欧美激情亚洲一区| 亚洲综合欧美日韩| 国产精品麻豆成人av电影艾秋| 国产亚洲欧美另类中文| 激情欧美一区二区三区在线观看| 久久久精品国产免大香伊| 亚洲高清视频一区| 午夜激情一区| 亚洲国产视频直播| 国产精品久久久久秋霞鲁丝| 久久亚洲欧美| 亚洲一区中文| 亚洲欧洲精品一区二区三区| 久久精品30| 在线视频你懂得一区| 国内成人精品2018免费看| 午夜视频久久久| 久久久久国产精品一区二区| 性色av一区二区三区| 欧美高清视频www夜色资源网| 久久一区免费| 国产一区二区三区四区老人| 亚洲视频电影图片偷拍一区| 夜夜嗨一区二区三区| 韩国女主播一区| 亚洲国产欧美精品| 欧美韩日一区二区三区| 亚洲精华国产欧美| 香蕉久久国产| 亚洲欧美在线一区| 在线观看精品| 亚洲午夜久久久| 久久激情网站| 黄色av一区| 亚洲影院免费观看| 亚洲欧美成人| 日韩亚洲欧美在线观看| 欧美日韩视频在线一区二区观看视频 | 欧美国产激情二区三区| 一区二区三区久久| 亚洲一区二区久久| 国产一区二区三区在线播放免费观看| 亚洲一区二区在线免费观看视频| 在线中文字幕一区| 激情自拍一区| 日韩视频永久免费观看| 亚洲一区二区三区成人在线视频精品 | 日韩亚洲不卡在线| 亚洲国产成人精品久久| 伊人久久亚洲美女图片| 一区二区三区在线观看欧美| 极品少妇一区二区三区| 韩国成人理伦片免费播放| 国内偷自视频区视频综合| 国产亚洲精品美女| 国产一区二区三区四区hd| 国产一区二区三区视频在线观看| 国产日韩三区| 亚洲电影在线观看| 亚洲精品一区二区三区不| 日韩午夜激情| 亚洲一区二区三区久久| 午夜视频在线观看一区二区| 欧美在线视频在线播放完整版免费观看| 午夜精品久久久久久久99热浪潮| 欧美在线影院在线视频| 欧美顶级少妇做爰| 欧美丰满高潮xxxx喷水动漫| 欧美日韩亚洲视频| 国产欧美韩国高清| 伊伊综合在线| 亚洲精品一二三| 亚洲已满18点击进入久久| 欧美一区二区在线视频| 欧美aⅴ一区二区三区视频| 亚洲经典自拍| 亚洲一级高清| 久久免费偷拍视频| 欧美人与性禽动交情品 | 久久尤物视频| 欧美日韩精品免费观看视频| 国产毛片久久| 亚洲激情社区| 久久不射电影网| 欧美激情按摩| 亚洲欧美中文日韩v在线观看| 久久久夜夜夜| 国产精品久久二区二区| 亚洲大片免费看| 性高湖久久久久久久久| 亚洲电影免费观看高清完整版在线 | 亚洲视频欧美在线| 久久久久国产精品麻豆ai换脸| 国产亚洲精品资源在线26u| 亚洲美女视频在线免费观看| 久久久久久综合网天天| 亚洲人成在线影院| 久久精品国产一区二区三| 欧美日韩视频在线一区二区观看视频 | 国产精品捆绑调教| 亚洲精品一区二区三区福利|