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

拂曉·明月·彎刀

觀望,等待只能讓出現的機會白白溜走

  C++博客 :: 首頁 ::  :: 聯系 :: 聚合  :: 管理 ::

以下筆記參考網站: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]調用形式。
    • 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中的消息特殊性:
    • 調用消息的類可以不知道如何響應這個消息。如果它不知道如何處理這個消息,它會自動的將這個消息轉給其他的類,比如它的父類。
    • 調用消息的類可以是nil。在C++中,在使用類方法之前,我們都需要檢查對象是否為空,所以在實現析構函數的時候,常會有如下的代碼,如if (var) { delete var; } 但是在objective c中,我們就可以直接寫[var release]; 即使var == nil, 也不會有問題。
  6. O-C中的函數聲明格式有:
    • -/+ (return type) function_name;

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

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

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

  7. O-C中的構造/析構函數

    • O-C中的init()/release()對應于C++的構造/析構函數。alloc()/dealloc()也就對應于C++的new和delete,其中的dealloc()由于引用計數的自動調用而不用手動調用。

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

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

    • 析構函數(- (void) release)將引用計數減1,當=0時父類的release()會自動調用dealloc(- (void) dealloc);

  8. 當O-C沒有數據成員時,可省略{},建議保留。

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

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

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

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

    • 方法的訪問限制可通過Category實現

    • 示例:

      @interface MyClass

      - (void) sayHello {

      NSLog(@"Hello");

      }

      @end


      @interface MyClass(Private)

      - (void) kissGoodbye;

      @end

  11. O-C中沒有類的靜態變量,只有全局變量

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

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

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

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

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

    • + (BOOL) instancesRespondToSelector: selector
      用于判斷該類是否能響應某個消息。這是一個靜態函數。

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

    • conformsToProtocol 類似于respondsToSelector ,用于動態檢查某個對象是否遵守某個協議。

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

    • 只能添加新的方法,不能添加新的數據成員

    • Category 的名字必須是唯一的

  15. Protocol:相當于C++中的純虛類

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

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

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

評論

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

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


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   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>
            久久亚洲私人国产精品va媚药| 国产精品女主播| 亚洲精品1区2区| 免费日韩av| 亚洲国产欧美久久| 亚洲精品视频中文字幕| 亚洲三级国产| 亚洲欧美成人在线| 久久久久久久精| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美日韩国产天堂| 国产精品爱啪在线线免费观看| 国产精品高清一区二区三区| 国产日韩高清一区二区三区在线| 在线播放中文一区| 中文久久精品| 久久精品一本| 亚洲人成在线播放网站岛国| 亚洲图片你懂的| 免费高清在线视频一区·| 欧美三级视频在线| 狠狠色狠狠色综合人人| 亚洲美女在线国产| 欧美资源在线| 日韩视频免费看| 久久久久国产精品一区| 欧美日韩国产精品一区二区亚洲| 国产综合久久久久久鬼色| 99精品欧美一区二区三区综合在线 | 亚洲免费电影在线观看| 久久精品国产亚洲精品| 亚洲人成人99网站| 久久精品国产一区二区三区| 欧美四级在线观看| 亚洲精品久久久久久久久久久久| 性做久久久久久免费观看欧美| 亚洲激情另类| 久久香蕉国产线看观看av| 国产精品入口麻豆原神| 亚洲人屁股眼子交8| 久久久久久久一区| 午夜亚洲伦理| 国产精品电影观看| 中文精品视频一区二区在线观看| 欧美成黄导航| 久久久久国产精品一区二区| 国产精品入口夜色视频大尺度 | 亚洲特黄一级片| 欧美日本成人| 夜夜嗨网站十八久久| 欧美99在线视频观看| 亚洲欧美文学| 国产精品日韩一区二区| 亚洲在线中文字幕| 这里只有视频精品| 欧美日韩视频在线一区二区 | 欧美视频在线观看| 亚洲欧洲一级| 亚洲黄色免费| 欧美日韩国产成人精品| 日韩视频免费在线| 亚洲人成77777在线观看网| 欧美大片专区| 中文高清一区| 亚洲一区二区免费视频| 国产精品久久久久久久久久三级| 亚洲视频播放| 亚洲男人的天堂在线| 国产欧美欧洲在线观看| 欧美在线在线| 久久亚洲综合网| 亚洲精品网站在线播放gif| 亚洲人成77777在线观看网| 欧美精品色网| 欧美一区二区三区免费观看视频| 亚洲欧美日韩国产另类专区| 国产亚洲精品aa| 欧美mv日韩mv亚洲| 欧美日韩一区国产| 亚洲欧美日韩国产中文在线| 小处雏高清一区二区三区| 在线播放亚洲| 亚洲国产精品一区二区尤物区| 欧美日本一区| 午夜精品久久| 欧美日韩一区在线| 亚洲小少妇裸体bbw| 亚洲调教视频在线观看| 国内外成人免费视频 | 久久久久一区二区三区| 美女在线一区二区| 亚洲欧美国产视频| 美女被久久久| 亚洲欧美日韩精品久久久| 久久国产精品第一页| 亚洲精品日韩久久| 午夜精品久久久99热福利| 亚洲啪啪91| 欧美亚洲综合网| 99精品国产在热久久婷婷| 欧美一区二区视频在线观看2020| 亚洲精品久久久蜜桃| 性欧美video另类hd性玩具| 黄色综合网站| 亚洲欧美一区二区激情| 亚洲裸体俱乐部裸体舞表演av| 亚洲一区二区欧美| 亚洲深夜av| 欧美激情91| 久热re这里精品视频在线6| 欧美视频一区在线观看| 麻豆国产精品777777在线| 欧美亚一区二区| 亚洲国产精品一区二区www在线| 国产欧美日韩视频| 在线亚洲国产精品网站| 亚洲福利国产精品| 亚洲欧美日韩直播| 亚洲综合色视频| 老牛影视一区二区三区| 午夜精品亚洲| 国产精品乱人伦一区二区| 欧美国产日韩一区二区三区| 狠狠色狠狠色综合日日tαg| 午夜一级在线看亚洲| 亚洲私人黄色宅男| 欧美日韩国产首页在线观看| 亚洲福利视频网站| 亚洲欧洲视频| 欧美成人一品| 亚洲国产黄色片| 亚洲精品视频免费在线观看| 欧美freesex交免费视频| 欧美成人在线免费视频| 亚洲福利久久| 欧美国产日韩一区二区三区| 亚洲国产综合在线看不卡| 亚洲日本一区二区三区| 欧美久久久久免费| 一区二区三区日韩欧美| 香蕉免费一区二区三区在线观看| 欧美日韩精品一本二本三本| 日韩午夜三级在线| 国产精品99久久久久久久久 | 尤物网精品视频| 久久久亚洲国产天美传媒修理工 | 一区二区三区www| 欧美午夜在线| 亚洲视频成人| 久久国产精品99精品国产| 国产精品日韩欧美一区二区三区| 亚洲新中文字幕| 久久阴道视频| 亚洲国产欧美日韩另类综合| 女主播福利一区| 99re热这里只有精品免费视频| 亚洲一区尤物| 国产色产综合产在线视频| 久久精品国产亚洲精品| 欧美激情1区2区3区| 一区二区三区日韩精品视频| 国产精品二区影院| 久久国产一区二区| 亚洲黄色在线看| 校园春色国产精品| 91久久在线视频| 欧美香蕉大胸在线视频观看| 国产精品99久久久久久www| 久久成人综合网| 99国产精品国产精品毛片| 欧美视频二区36p| 久久免费精品视频| 亚洲无线视频| 亚洲国产精品ⅴa在线观看 | 欧美精品免费看| 性欧美videos另类喷潮| 亚洲国产精品成人综合色在线婷婷 | 亚洲精品一区在线观看| 一区二区三区欧美亚洲| 激情av一区| 欧美日本一道本在线视频| 亚洲免费在线观看视频| 亚洲国产网站| 久久精品盗摄| 国产喷白浆一区二区三区| 欧美精品在线一区二区三区| 欧美在线观看一二区| 一本色道久久精品| 亚洲国产专区校园欧美| 久久久一区二区| 欧美一区二粉嫩精品国产一线天| 狠狠色狠狠色综合日日小说| 国产精品久久91| 欧美老女人xx| 美女国产精品| 免费成人你懂的| 另类综合日韩欧美亚洲| 欧美一区二区视频在线观看| 99视频超级精品| 日韩网站免费观看|