成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone應用開發必知必會的三大基礎

移動開發 iOS
本文為iPhone應用開發第一季:初識iPhone應用開發的三大基礎:MAC系統介紹、Xcode開發環境介紹和Cocoa框架介紹。這三大基礎是iPhone OS應用開發必知必會的內容,希望大家喜歡!

我們剛剛給大家介紹過《成為iPhone游戲開發者的十大秘技》,在剛剛要接觸iPhone應用程序開發時,往往都對iPhone應用程序開發無從下手,今天我們就來和大家探討一下iPhone應用開發必知必會三大的基礎。首先,第一節大家都知道應該就是:“HelloWorld”!

◆MAC系統介紹

◆Xcode開發環境介紹

◆Cocoa框架介紹

什么是MAC?

◆MAC系統是蘋果機專用系統,正常情況下在普通pc上無法安裝的操作系統

◆MAC壁紙

蘋果公司不但生產MAC的大部分硬件,連MAC所用的操作系統都是它自行開發的,接下來,我們就來了解一下它的操作系統。

蘋果機現在的操作系統已經到了OS 10,代號為MAC OS X(X為10的羅馬數字寫法),這是MAC電腦誕生15年來最大的變化。新系統非常可靠,它的許多特點和服務都體現了蘋果公司的理念。

另外,現在瘋狂肆虐的電腦病毒幾乎都是針對Windows的,由于MAC的架構與 Windows不同,所以很少受到病毒的襲擊。MAC OS X操作系統界面非常獨特,突出了形象的圖標和人機對話(圖形化的人機對話界面最初來自施樂公司的Palo Alto研究中心,蘋果借鑒了其成果開發了自己的圖形化界面,后來又被微軟的Windows所借鑒并在Windows中廣泛應用)。蘋果公司能夠根據自己的技術標準生產電腦、自主開發相對應的操作系統,可見它的技術和實力非同一般。打個比方,蘋果公司就像是Dell和微軟的聯合體,在軟硬件方面“才貌雙全”。

什么是Xcode?

Xcode是Apple自己開發的,只運行在Mac OS X平臺下的IDE。如果你想真正了解Mac OS X平臺上的開發,就應該了解它。當然,Mac OS X實現了POSIX,固然也支持傳統的UNIX編程環境;Eclipse等Java開發工具也有Mac OS X版。不過這些,你在Linux或者Windows平臺也能體驗到。Xcode也并不神秘,Apple并沒有自己特有的編譯器(盡管Mac上的Gcc是經蘋果修改過的版本),創建項目的時候,Xcode還是會生成并執行一條條的Gcc和ld的命令。所以如果你有足夠的UNIX經驗(并且知道到哪里找需要用的Framework),完全可以在命令行編譯一個完整的Cocoa應用程序。

其實Xcode提供了很多功能,使你無論在創建項目、設計、修改代碼還是編譯等各個環節都能收益,恐怕你很難找到一個不使用它的理由。事實上,自從Mac OS 10.4引入了Universal Binary的概念以后,Xcode幾乎成為了大多數Mac開發者的唯一選擇。不用擔心的是Xcode是免費的,只要你有一臺Mac,隨機帶的安裝盤里就有Xcode,升級是免費的(不過如果你用的是Mac OS 10.5以前版本的OS,你將不能運行Xcode 3.0或以上的版本)。

什么是Cocoa?

Cocoa Framework簡稱Cocoa,它是Mac OS X上的快速應用程序開發(RAD, Rapid Application Development)框架,一個高度面向對象的(Object Oriented)開發框架。無論您是資深的Mac開發人員,還是即將踏入Mac開發世界的新新人類,Cocoa都是您開發應用程序的瑞士軍刀、樂高積木,它是您構建Mac OS X應用程序最強大、最高效的工具。值得一提的是,蘋果公司之所以能夠開發出眾多頂級軟件,其實也正是因為有著Cocoa這個秘密武器。Cocoa是Mac OS X上原生支持的應用程序開發框架,蘋果公司強烈推薦所有Mac開發人員使用。

骨灰話題:Hello World!

相信對于任何一個開發人員,Hello World!都應該是個熟悉無比的東西。那么,Cocoa的Hello World!程序您看得懂么?

  1. import <Foundation/Foundation.h> 
  2. int main (int argc, const char * argv[]) {   
  3. NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];   
  4. NSLog(@"Hello, World!");   
  5. [pool drain];   
  6. return 0;   
  7. }   
  8.  

首先,和絕大多數您所見過的C程序一樣,任何一個Cocoa應用程序都有一個主函數:

  1. int main(int argc, const char * argv[])  
  2.  

主函數是應用程序的主入口,也是一切開始和結束的地方。是的,沒錯!從表面上看,這些代碼和常見的C程序的代碼沒有什么區別,而且事實上,它們和C程序的代碼的的確確沒有什么區別。

接下來你該問我,那什么是Foundation?Foundation.h里裝的又是什么?什么是NSAutoreleasePool?那些中括號又是什么?...... 別急,在后續的幾章里我們會慢慢把這么多陌生的面孔熟悉起來,當然我也可以現在就大致的解釋一下:

Foundation全稱Foundation Framework,是Cocoa的一個子開發框架。Foundation里包含了Cocoa中最基本的一些類,它們在一個Mac應用程序中通常負責對象管理、內存管理、容器等相關數據結構的操作。Foundation.h是Foundation的頭文件,一旦引入了這個頭文件,我們就可以在自己的程序里使用任何在Foundation里聲明的類。例如在上述代碼中,NSAutoreleasePool就是Foundation中聲明的一個類,它為應用程序提供可控制的延遲對象釋放的內存管理。至于那些方括號,它們是Objective-C里最最基本的語法成分,一對方括號中間的內容表示對對象(或類)進行一次方法的調用。

如果您沒有聽明白,請不要驚慌失措,咱們在下面的幾章里慢慢說。另外,Cocoa的國際音標是['koukou]希望大家能把這個單詞的音讀對。

Objective-C其實很C

在使用Cocoa進行應用程序開發的時候,Objective-C是我們首選的語言。(當然,Cocoa也通過官方、第三方等途徑,構建了 Cocoa-Ruby、Cocoa-Python等編程語言上的橋接,使無論是來自Ruby還是Python世界的開發人員能夠使用他們熟悉的語言快速上手。)不過在這里,我們還是要首推Objective-C作為一個Cocoa程序的開發語言,原因有二:

其一、Objective-C實際上是C的超集

Objective-C的運行環境庫(Runtime Library)完全是由C編寫的,因此任何一個Objective-C消息派發(Message Dispatching),都會被替換成Objective-C運行環境中的某個或某幾個C函數的調用。這種機制為Objective-C帶來了高效的消息派發和對C代碼完全原生的兼容。

其二、整個Cocoa Framework都是由Objective-C/C實現的

因此在開發一個Cocoa應用程序的時候,Objective-C是我們不二的選擇。

當我們說到“Objective-C”的時候,盡管編程模型和C不同,盡管語法看似有些奇怪,但事實我們所討論的依然還是C語言。因為Objective-C確實是C,說的簡單些:

Objective-C就是擁有一個面向對象層(Object Oriented Layer)的C。而Objective-C正是通過從Smalltalk進化而來的這種語法,實現了對這個面向對象層的支持。因此如果您正在使用 Objective-C開發一個Cocoa應用程序,同時又希望在某些代碼的某些位置插入一些C代碼,那就請放心大膽的繼續吧! 

51CTO推薦專題:

[[17380]]

Phone Club——51CTO移動開發線下技術沙龍

活動日期:12月19日
本期主題:Android應用開發技術進階
地點:創新工場 北京市海淀區北四環西路66號第三極大廈B座18層
演講講師:王明禮(創新工場) 范懷宇(網易)

【編輯推薦】

  1. 進階:成為iPhone游戲開發者的十大秘技
  2. 用數據說話 Symbian和iPhone占據移動世界的兩極
  3. C++開發者快速學習Objective-C語言核心語法
  4. Objective-C基礎語法快速入門
  5. .NET平臺開發Windows Phone 7、iPhone及Android應用
責任編輯:佚名 來源: javaeye
相關推薦

2020-07-10 07:58:14

Linux

2020-03-30 15:25:14

Vim編輯器Linux

2022-08-26 14:46:31

機器學習算法線性回歸

2024-11-15 11:11:48

2024-01-03 07:56:50

2022-05-18 09:01:19

JSONJavaScript

2018-10-26 14:10:21

2025-02-10 08:18:27

JSON數據交換格式

2023-04-20 14:31:20

Python開發教程

2023-05-08 15:25:19

Python編程語言編碼技巧

2023-12-26 12:10:13

2023-11-08 18:01:53

硬重置Git命令

2024-01-10 18:01:22

編程技巧Java 12

2020-11-25 10:40:58

程序員技能開發者

2018-09-18 10:56:52

Android開發http

2022-08-19 10:31:32

Kafka大數據

2024-07-26 08:32:44

panic?Go語言

2014-02-09 10:30:17

Python程序員工具

2023-11-21 20:15:10

Git命令開發

2015-10-20 09:46:33

HTTP網絡協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区四区 | 国产一区二区成人 | 国产精品美女久久久 | 欧美性生活一区二区三区 | 99国产精品久久久久老师 | 人人鲁人人莫人人爱精品 | 日本不卡高字幕在线2019 | 成人国产在线视频 | 日韩精品一区二区三区第95 | 午夜免费网站 | 久久久精品亚洲 | 九九热免费视频在线观看 | 亚洲高清在线观看 | 国产综合久久 | 欧美日韩一区精品 | 东京av男人的天堂 | 亚洲国产精品第一区二区 | 亚洲精品久久久一区二区三区 | www.婷婷亚洲基地 | 国产精品中文字幕在线观看 | 精品久久国产 | 日日干夜夜操 | 91视视频在线观看入口直接观看 | 日韩欧美在线免费观看 | 欧美精品一区免费 | 国产中的精品av涩差av | 99这里只有精品视频 | 欧美黄色网 | 国产精品日韩在线观看一区二区 | 亚洲欧美一区二区三区国产精品 | 一区二区三区四区在线视频 | 日韩视频一区二区在线 | 性色网站 | 日本韩国电影免费观看 | 久草热在线 | 在线中文字幕第一页 | 野狼在线社区2017入口 | 国产精品18hdxxxⅹ在线 | 国产精品一区二区视频 | 国产精品国产a级 | 久久精品毛片 |