標籤:style blog http java 使用 os io strong
前言
目前來說,Objective-C(簡稱OC)是iOS開發的核心語言,在開發過程中也會配合著使用C語言、C++,OC主要負責UI介面,C語言、C++可用於圖形處理。近來,流傳Ruby、C#也可以開發iOS應用程式了,甚至還說Ruby比OC更適合寫iOS程式。這讓不少學習iOS開發的朋友感到很困擾,究竟學哪門語言好呢?OC會不會被Ruby、C#取代呢?如果被取代了,那我的OC不是白學了?下面我發表一下個人觀點:
1> Ruby、C#也能做iOS開發,我覺得這也不算什麼壞事,能讓更多領域的人投入iOS開發,彙集更多程式猿的智慧,多創造一些讓人眼前一亮、有劃時代意義的app,進而豐富AppStore、促進iOS的發展、造福消費者。
2> OC這門語言一直由蘋果公司在維護,蘋果當初選擇OC作為iOS的開發語言,肯定是有理由的,這也說明了蘋果對OC的肯定。從iPhone的成功也可以看出,蘋果選擇OC是對的。因此,我覺得OC被其他語言取代是不太可能的。
3> 退一萬步講,假如OC真的被Ruby它們取代了,我覺得這對經驗豐富的OC開發人員來說,並不是什麼致命的打擊。不可能因為OC被淘汰了,廣大OC開發人員就沒辦法在軟體行業混下去了。OC作為一門物件導向的語言,它的編程思想跟其他物件導向的語言都是差不多的,只不過文法特性不同。因此,你學了OC之後絕對不會吃虧,以後想學習其他語言也是非常快的,因為思想是一樣的。比如之前你一直都開著豐田車,某一天豐田倒閉了,你的車子也爛了,難道給你一輛寶馬,你就不會開了嗎?
4> 因此,我還是建議想學習iOS開發的朋友們,沉下心來好好學習OC吧!
一、簡介1.基於C語言
C語言是一門面向過程的語言,OC是在C語言的基礎上,增加了一層最小的物件導向文法,為什麼說是最小的物件導向文法呢?因為OC把一些比較複雜的物件導向文法都去掉了,剩下的都是物件導向的精華,因此OC是一門物件導向的語言,而且會比C++簡單很多。因為OC是基於C語言的,所以完全相容C語言,也就是說我們在開發iOS程式過程中,可以在OC代碼中混入C語言代碼,甚至是C++代碼。
2.作用
我們可以使用OC開發Mac OS X平台和iOS平台的應用程式。
這裡簡單說明一下Mac OS X和iOS:
- Mac OS X是蘋果公司為Mac系列產品開發的專屬作業系統,目前搭載這款作業系統的裝置有:MacBook、iMac、Mac mini
- iOS是由蘋果公司開發的手持功能作業系統,目前搭載這款作業系統的裝置有:iPhone、iPad、iPod touch、iPad mini
3.熱度
下面是2014年3月份的程式設計語言熱門熱門排行榜
二、文法預覽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.文法要點