亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

objective-C概述以及Xcode的簡單使用方法。

2019-11-14 19:34:40
字體:
來源:轉載
供稿:網友
  • objcetive-c 介紹:

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 用途:

Objective-C用途:編寫IOS操作系統(如:iphone、iPod touch、iPad 等蘋果移動終端設備 )應用程序和Mac OS X操作系統應用程序的利器?!bjective-C的流行當歸功于iPhone的成功,因為Objective-C被用于編寫iPhone應用程序。

  • objective-c 語言特性:

ObJC是非常實際的語言,它是一個用C寫成,很小的一個運行庫,只會使應用程序的尺寸增加很小。ObJC完全兼容標準C語言(C++兼容C語言只是在大部分語法上)而在此基礎上增加了面向對象編程語言的特性以及smalltalk消息機制。

ObJC為何不支持垃圾回收機制,因為在smalltalk回收時有漫長的死亡時間,容易令整個系統市區功用,ObJC為避免此問題才不擁有這個功能,雖說某些第三方軟件加入了垃圾回收機制這個功能,但是Apple在其Mac OS X 10.3中仍未使用這個功能。

  •  objective-C與C++的不同

和C++不同,Objective-C不支持運算子重載(它不支持ad-hoc多型)。亦與C++不同,但和java相同,Objective-C只容許對象繼承一個類別(不設多重繼承)。Categories和protocols不但可以提供很多多重繼承的好處,而且沒有很多缺點,例如額外執行時間過重和二進制不兼容。

  

  • Objective-C和C++的比較
  單一繼承:
Objective-C不支持多重繼承,(同Java和Smalltalk),而C++語言支持多重繼承。
  動態:
Objective-C是動態定型(dynamicaly typed)所以它的類庫比C++要容易操作。Objective-C 在運行時可以允許根據字符串名字來訪問方法和類,還可以動態連接和添加類。
C++ 跟從面向對象編程里的Simula 67(一種早期OO語言)學派,而Objecive-C屬于Smalltalk學派。
在C++里,對象的靜態類型決定你是否可以發送消息給它,而對Objective-C來說,由動態類型來決定。Simula 67學派更安全,因為大部分錯誤可以在編譯時查出。 而Smalltalk學派更靈活,比如一些Smalltalk 看來無誤的程序拿到Simualr67那里就無法通過。
從很多方面來看,C++和Objective-C的差別,與其說是技術上的, 不如說是思維方式上的。你是否想更安全而舍棄靈活性?Simular67學派的支持者稱既然程序設計出色何必再要靈活性,而 Smalltalk學派則稱為了靈活可以容忍運行時多出錯。
 
  • 優缺點:

Xcode4版本的推出,加入了自動釋放,雖不能直截了當的說那就是“垃圾回收”,因為兩者機制不同。在Xcode4中的自動釋放,也就是ARC(Automatic Reference Counting)機制,是不需要用戶手動去Release一個對象,而是在編譯期間,編譯器自動幫你添加那些以前你經常寫的[NSObject release]。

另一個問題是ObjC不包括命名空間機制(namespace mechanism)。取而代之的是程序設計師必須在其類別名稱加上前綴,時常引致沖突。在2004年,在Cocoa編程環境中,所有Mac OS X類別和函式均有“NS”作為前綴,例如NSObject或NSButton來清楚分別它們屬于Mac OS X核心;使用“NS”是由于這些類別的名稱在NeXTSTEP開發時定下。

雖然Objective-C是C的母集,但它也不視C的基本型別為第一級的對象。

C++不同,Objective-C不支援運算子多載(它不支持ad-hoc多型)。亦與C++不同,但和Java相同,Objective-C只容許對象繼承一個類別(不設多重繼承)。
由于Obj-C使用動態運行時類型,而且所有的方法都是函數調用(有時甚至連系統調用(syscalls)也如此),很多常見的編譯時性能優化方法都不能應用于Obj-C(例如:內聯函數、常數傳播、交互式優化、純量取代與聚集等)。這使得Obj-C性能劣于類似的對象抽象語言(如C++)。不過Obj-C擁護者認為既然Obj-C運行時消耗較大,Obj-C本來就不應應用于C++或Java常見的底層抽象。
  • 編寫ObJC程序:

編譯器:我用的就是Xcode 6.01/5.11(愿意用哪個就用哪個吧,每個版本都有自己的優勢。)

 
 
如果你是第一次使用Xcode,那么你就需要創建一個新的Xcode文件(Create a new Xcode project 選項)
 
選擇 Command Line Tool 建立一個程序或者文件夾都是可以的
 
 
接下來就是創建工程的名字(Product Name)要符合建項的命名標準,然后是組織名(Organization Name) 組織名一般的命名規則是你的公司或者團隊的域名的反向 比如說你的公司的域名是www.example.com,那么建議你的組織名就起為:com.example.接下來就是組織標識符(Organization identifier),命名規則就是你喜歡就好。language當然要選擇ObJC啦。

一路next下去,我們基本上就已經創建好所需的工程了,現在圖示的就是一些基本信息,上面有你的系統信息,還有一些工程選項BALABALALA,筆者現在英語水平有限,一大部也是看不太懂,主要還是靠猜。

OK,在Xcode左邊的功能欄上,你會看見main.m的文件,這就是主函數了。單擊main.m你就會看見如下代碼。

@autoreleasepool 這個就是前文提到的,傳說中的自動釋放池了!這個代碼當你創建好工程之后就已經幫你寫好了,那么如何編譯運行呢?

有沒有看到那個播放鍵? 什么? 看不到? 那就先請你check一下你正在使用的編譯器叫什么名字,有可能是你安裝錯了。。。

如果你清楚明白的看到了這個黑色的播放鍵,那么我就明確的說,這就是傳說中的編譯運行按鈕~快捷鍵是(command+R)如果你的代碼沒有錯誤的話,那么將會有十分神奇的事情發生。神奇的事情發生了,在編譯器的下方(左面的圖框是調試框,右邊的圖框是編譯框),你會看到編譯結果。

到這里,基本的ObJC的概述和Xcode的簡單使用方法就已經結束。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲最大激情中文字幕| 精品久久久久久久久久久久| 在线精品高清中文字幕| 国产精品久久久久久中文字| 国产日韩专区在线| 51午夜精品视频| 国产精品欧美久久久| 日韩电影视频免费| 亚洲国产精品久久久久久| 亚洲第一视频在线观看| 91久久久久久久久久久久久| 欧美激情一级二级| 亚洲精品一区二区三区婷婷月| 国产成人综合久久| 最近更新的2019中文字幕| 少妇高潮久久久久久潘金莲| 欧美精品一区在线播放| 黑人巨大精品欧美一区免费视频| 亚洲美女精品久久| 亚洲缚视频在线观看| 97视频免费在线观看| 欧美成在线观看| 久久九九精品99国产精品| 国产一区二区在线免费视频| 日韩欧美成人免费视频| 国产一区在线播放| 国产精品丝袜白浆摸在线| 亚洲第一色中文字幕| 欧美激情在线有限公司| 欧美日本在线视频中文字字幕| 国产精品久久久久久久久久东京| 久久香蕉国产线看观看av| 国产日韩欧美自拍| 国产精品久久久久免费a∨| 日韩成人av网址| 岛国av一区二区三区| 亚洲精品成a人在线观看| 日韩中文在线观看| 欧美韩国理论所午夜片917电影| 国产婷婷97碰碰久久人人蜜臀| 91精品国产免费久久久久久| 亚洲美女在线看| 成人在线小视频| 国产精品扒开腿做| 亚洲成人国产精品| 亚洲中国色老太| 日韩中文字幕在线播放| 91精品视频专区| 国产精品视频免费观看www| 亚洲伊人久久大香线蕉av| 亚洲一区二区三区sesese| 精品美女国产在线| 精品日韩美女的视频高清| 中文字幕亚洲在线| 成人国产精品一区二区| 久久久在线视频| 久久久女女女女999久久| 国产做受高潮69| 久久青草精品视频免费观看| 日韩动漫免费观看电视剧高清| 欧美成人一区二区三区电影| 5566成人精品视频免费| 日本19禁啪啪免费观看www| 国产亚洲精品久久久| 91超碰中文字幕久久精品| 欧美日韩免费一区| 欧美精品在线免费观看| 国产精品久久久久久五月尺| 6080yy精品一区二区三区| 欧美日韩国产第一页| 国产日韩中文字幕在线| 91精品国产综合久久香蕉922| 欧美日韩成人黄色| 亚洲国产天堂久久综合网| 日韩av在线免费看| 国产精品久久久久久av下载红粉| 亚洲国产精品久久| 26uuu日韩精品一区二区| 国产精品免费福利| 日韩欧美精品网站| 亚洲一区免费网站| 精品久久久久久电影| 久久伊人色综合| 98视频在线噜噜噜国产| 九九久久久久久久久激情| 精品夜色国产国偷在线| 国产91ⅴ在线精品免费观看| 国产激情久久久久| www欧美xxxx| 黑人巨大精品欧美一区二区免费| 欧美日韩中文字幕综合视频| 亚洲一区二区中文| 久久精品国产69国产精品亚洲| 97视频在线播放| 亚洲自拍偷拍福利| 午夜精品一区二区三区在线视频| 精品久久久久久久久国产字幕| 日韩免费视频在线观看| 成人免费视频xnxx.com| 欧美激情精品久久久久久| 国产精品成人在线| 亚洲美女免费精品视频在线观看| 日韩av片电影专区| 日本精品一区二区三区在线播放视频| 欧美成人手机在线| 欧美午夜精品在线| 精品久久久久久电影| 亚洲第一网站免费视频| 亚洲欧美日韩综合| 久久久久久成人| 精品自拍视频在线观看| 国产精品免费视频久久久| 欧美精品久久一区二区| 久久中文字幕国产| 亚洲大胆美女视频| 日日骚久久av| 精品福利一区二区| 欧美一级片一区| 欧美激情区在线播放| www.日本久久久久com.| 97久久精品人搡人人玩| 欧亚精品在线观看| 国产精品影院在线观看| 在线不卡国产精品| 日本精品视频网站| 精品免费在线视频| 热久久美女精品天天吊色| 亚洲综合中文字幕在线观看| 亚洲色图校园春色| 一区二区三区黄色| 日韩免费看的电影电视剧大全| 欧美激情一区二区三区在线视频观看| 亚洲free性xxxx护士白浆| 亚洲第一国产精品| 日韩高清不卡av| 久久久久久成人精品| 国产精品久久久久久久久久小说| 国产精品视频白浆免费视频| 欧美怡红院视频一区二区三区| 91网在线免费观看| 日韩国产欧美精品在线| 日韩精品在线视频观看| 国产精品久久久久久久app| 国产黑人绿帽在线第一区| 国产区精品在线观看| 在线视频一区二区| 欧美黑人国产人伦爽爽爽| 国产精品自产拍在线观看| 精品五月天久久| 日韩免费在线看| 久久中文字幕在线视频| 亚洲影视中文字幕| 国产精品揄拍500视频| 日韩有码在线视频| 欧美电影免费观看电视剧大全| 亚洲精品久久久久久久久久久久久| 日韩免费在线播放| 国产精品美乳一区二区免费| 久久影视三级福利片| 日产精品99久久久久久| 欧美黑人一区二区三区| 91av在线播放视频| 日韩h在线观看| 久久久日本电影|