objective-C基本知識

來源:互聯網
上載者:User

標籤:

先行編譯指令

 1.自己寫的標頭檔最好用雙引號,而系統內建的可以用角括弧。

*************************************************

點文法

  p.age= 10;

     1.不是訪問age成員變數,而是調用其方法

     2.其他的很多程式設計語言都有點文法,為了其他編程的程式員可以快速掌握oc,從而添加了點文法

     3.編譯器在遇到點文法的時候,會自動將之轉化為:[p setAge:10];

     4.故點文法的本質還是調用方法,而不是訪問成員變數(訪問成員變數就一種:通過箭頭)。

*******************************************

isa指標

在OC中,對於每個執行個體對象,其中都會有一個isa指標,isa= is a,同一個類建立出來的對象的isa指標是一樣的。

它的作用是告訴對象它是哪個類以及它的父類是誰。

這個指標只有在程式啟動並執行時候才看得見(在偵錯模式的具體對象處能夠找到)。

*******************************************

import和include的區別:

  import關鍵字會對重複引用的檔案進行自動省略,而include不會。所以,import能夠避免碰到“常見但定位麻煩的重複引用標頭檔錯誤”。

  在OC中,我們一般使用import來引用其他標頭檔。

**********************************

關鍵字

“@”符號:在OC中表示關鍵字。

@interface:類聲明的開始。

@implementation:類實現的開始。

@end:類聲明或者類實現的結束。

夾在@interface和@end之間的即為類的聲明,而夾在@implementation和@end之間的即為類的實現。

 

**************************

在OC中,self表示對象自己,它和C++中的this含義相近。super表示父類對象。

************************

繼承和重寫

類庫之間的繼承:

cocoa的架構中,大部分的類庫都是繼承自NSObject,而類庫之間還存在各種各樣的父子關係,比如所有的控制項類(UIControl、NSControl)都是繼承自響應者類(UIResponder、NSResponder);所有的多功能視圖(tableview/scrollview/webview等)都是繼承自視圖類(UIView、NSView)等。如果我們想找類庫的繼承關係,我們可以在開發文檔中找到。

************************

分類(Category)

************************

協議(Protocols)和代理(Delegation)

1.代理的引入真正意義上完全實現MVC的程式結構架構。

2.協議是對類的實現進行規約的一套標準,可以保證多個承諾實現協議的類的介面一致性。

 

objective-C基本知識

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.