Object-C基礎-01-概述

回到頂部html

前言

目前來講,Objective-C(簡稱OC)是iOS開發的核心語言,在開發過程當中也會配合着使用C語言、C++,OC主要負責UI界面,C語言、C++可用於圖形處理。近來,流傳Ruby、C#也能夠開發iOS應用程序了,甚至還說Ruby比OC更適合寫iOS程序。這讓很多學習iOS開發的朋友感到很困擾,究竟學哪門語言好呢?OC會不會被Ruby、C#取代呢?若是被取代了,那個人OC不是白學了?下面我發表一下我的觀點:ios

1> Ruby、C#也能作iOS開發,我以爲這也不算什麼壞事,能讓更多領域的人投入iOS開發,聚集更多程序猿的智慧,多創造一些讓人眼前一亮、有劃時代意義的app,進而豐富AppStore、促進iOS的發展、造福消費者。編程

2> OC這門語言一直由蘋果公司在維護,蘋果當初選擇OC做爲iOS的開發語言,確定是有理由的,這也說明了蘋果對OC的確定。從iPhone的成功也能夠看出,蘋果選擇OC是對的。所以,我以爲OC被其餘語言取代是不太可能的。數組

3> 退一萬步講,假如OC真的被Ruby它們取代了,我以爲這對經驗豐富的OC開發者來講,並非什麼致命的打擊。不可能由於OC被淘汰了,廣大OC開發者就沒辦法在軟件行業混下去了。OC做爲一門面向對象的語言,它的編程思想跟其餘面向對象的語言都是差很少的,只不過語法特性不一樣。所以,你學了OC以後絕對不會吃虧,之後想學習其餘語言也是很是快的,由於思想是同樣的。好比以前你一直都開着豐田車,某一天豐田倒閉了,你的車子也爛了,難道給你一輛寶馬,你就不會開了麼?app

4> 所以,我仍是建議想學習iOS開發的朋友們,沉下心來好好學習OC吧!編程語言

 

回到頂部學習

1、簡介

1.基於C語言

C語言是一門面向過程的語言,OC是在C語言的基礎上,增長了一層最小的面向對象語法,爲何說是最小的面向對象語法呢?由於OC把一些比較複雜的面向對象語法都去掉了,剩下的都是面向對象的精華,所以OC是一門面向對象的語言,並且會比C++簡單不少。由於OC是基於C語言的,因此徹底兼容C語言,也就是說咱們在開發iOS程序過程當中,能夠在OC代碼中混入C語言代碼,甚至是C++代碼。ui

 

2.做用

咱們可使用OC開發Mac OS X平臺和iOS平臺的應用程序。spa

這裏簡單說明一下Mac OS X和iOS:操作系統

  • Mac OS X是蘋果公司爲Mac系列產品開發的專屬操做系統,目前搭載這款操做系統的設備有:MacBook、iMac、Mac mini

  • iOS是由蘋果公司開發的手持設備操做系統,目前搭載這款操做系統的設備有:iPhone、iPad、iPod touch、iPad mini

 

3.熱度

下面是2013年3月份的編程語言熱門排行榜

對比2012年,OC的熱度又上升了2名

 

回到頂部

2、語法預覽

1.沒有包名(命名空間)的概念

在Java中,爲了防止兩個類名相同的類衝突,你能夠將這2個類放在不一樣的包裏面。OC中並無"包"的概念,也就是沒有命名空間機制,取而代之的是開發人員給類名加上前綴,使用前綴能夠有效的防止類名衝突。好比NSString(OC中的字符串類)、NSArray(OC的數組類),它們的前綴都是NS

 

2.關鍵字都以@開頭

1> 我在前面說到,OC代碼中是能夠混入C語言、C++代碼的,而C語言和C++做爲一門編程語言,都有本身的關鍵字。爲了防止跟C語言、C++關鍵字衝突,OC的關鍵字都以@開頭。

下面列舉一些常見的關鍵字,看一眼就好了,不用去翻資料查找它們的含義,用到時我會解釋的

複製代碼

@interface,@implementation,@end@public、@protected、@private,@selector@try、@catch、@throw、@finally @protocol,@class// OC 2.0中引入的新關鍵字有@property,@synthesize
@optional,@required,@dynamic

複製代碼

2> 甚至字符串都是以@開頭的,好比@"Hello"是OC中的字符串,而"Hello"則是C語言中的字符串。

 

3.語法要點

相關文章
相關標籤/搜索