Objective-C,通常寫作ObjC和較少用的Objective C或Obj-C,是擴充C的面向對象編程語言。它主要使用于Mac OS X和GNUstep這兩個使用OpenStep標準的系統,而在NeXTSTEP和OpenStep中它更是基本語言。1980年代初布萊德·確斯(Brad Cox)在其公司Stepstone發明Objective-C。他對軟件設計和編程里的真實可用度問題十分關心。Objective-C最主要的描述是他1986年出版的Object Oriented PRogramming: An Evolutionary Approach. Addison Wesley. ISBN 0-201-54834-8.
Objective-C用途:編寫IOS操作系統(如:iphone、iPod touch、iPad 等蘋果移動終端設備 )應用程序和Mac OS X操作系統應用程序的利器?!bjective-C的流行當歸功于iPhone的成功,因為Objective-C被用于編寫iPhone應用程序。
ObJC是非常實際的語言,它是一個用C寫成,很小的一個運行庫,只會使應用程序的尺寸增加很小。ObJC完全兼容標準C語言(C++兼容C語言只是在大部分語法上)而在此基礎上增加了面向對象編程語言的特性以及smalltalk消息機制。
ObJC為何不支持垃圾回收機制,因為在smalltalk回收時有漫長的死亡時間,容易令整個系統市區功用,ObJC為避免此問題才不擁有這個功能,雖說某些第三方軟件加入了垃圾回收機制這個功能,但是Apple在其Mac OS X 10.3中仍未使用這個功能。
和C++不同,Objective-C不支持運算子重載(它不支持ad-hoc多型)。亦與C++不同,但和java相同,Objective-C只容許對象繼承一個類別(不設多重繼承)。Categories和protocols不但可以提供很多多重繼承的好處,而且沒有很多缺點,例如額外執行時間過重和二進制不兼容。
Xcode4版本的推出,加入了自動釋放,雖不能直截了當的說那就是“垃圾回收”,因為兩者機制不同。在Xcode4中的自動釋放,也就是ARC(Automatic Reference Counting)機制,是不需要用戶手動去Release一個對象,而是在編譯期間,編譯器自動幫你添加那些以前你經常寫的[NSObject release]。
雖然Objective-C是C的母集,但它也不視C的基本型別為第一級的對象。
編譯器:我用的就是Xcode 6.01/5.11(愿意用哪個就用哪個吧,每個版本都有自己的優勢。)
一路next下去,我們基本上就已經創建好所需的工程了,現在圖示的就是一些基本信息,上面有你的系統信息,還有一些工程選項BALABALALA,筆者現在英語水平有限,一大部也是看不太懂,主要還是靠猜。
OK,在Xcode左邊的功能欄上,你會看見main.m的文件,這就是主函數了。單擊main.m你就會看見如下代碼。
@autoreleasepool 這個就是前文提到的,傳說中的自動釋放池了!這個代碼當你創建好工程之后就已經幫你寫好了,那么如何編譯運行呢?
有沒有看到那個播放鍵? 什么? 看不到? 那就先請你check一下你正在使用的編譯器叫什么名字,有可能是你安裝錯了。。。
如果你清楚明白的看到了這個黑色的播放鍵,那么我就明確的說,這就是傳說中的編譯運行按鈕~快捷鍵是(command+R)如果你的代碼沒有錯誤的話,那么將會有十分神奇的事情發生。神奇的事情發生了,在編譯器的下方(左面的圖框是調試框,右邊的圖框是編譯框),你會看到編譯結果。
到這里,基本的ObJC的概述和Xcode的簡單使用方法就已經結束。
新聞熱點
疑難解答