/* syntax highlight */ /* end of syntax highlight */

2010年11月23日 星期二

iphone app 開發 (七) – Cocoa 基本觀念

Bookmark and Share

image

Cocca, 可可亞 ?

這個單字在我閱讀 Mac OS 的過程中一直不斷出現

基本上 cocoa 是一個叫做 cocoa Touch Framework 的開發工具

關於 Cocca 的背景我建議你可以看看  這篇 文章,可能會有較完整的了解

 

下圖說明 iPhone 作業系統的基本架構

image

 

Core OSCore Service 表示的是作業系統的存取,例如檔案存取、系統服務存取以及各種協定等等,而主要以 C 語言搭建而成。

Media 層主要包括了 2D 3D 的繪圖處理,以及音效等等所有多媒體的部份。

Cocoa Touch 則是以 Objective-C 為基礎,並使用了像是 UIkit 等等框架來處理視覺化控制項,此部份也是我們會主要開發的部份。

 

為了加速我們對於 Cocca 的了解

下面一有個簡單的案例,是我在 iPhone 創意程式設計家 看到的

 

  1. //宣告一個字串
  2. char *str  = "Hello World";
  3.  
  4. //宣告一個 Cocca 字串指標變數,其初始值引入上述字串;
  5. NSString *coccaString = [[NSString alloc] initWithCString:str];
  6.  
  7. //宣告該變數
  8. [coccaString release];

 

重點是

(1) 變數宣告前面會加一個 *

(2) [….] 可以看成是一個方法 (method)

(3)  冒號 : 後面是前面變數的參數

 

而方法的宣告也不太一樣,例如

  1. -(void) setAge:(int)age{
  2. }

 

表示是宣告一個叫 setAge 的方法

帶入的參數是型態為 int 的 age 變數

 

如果看不懂

對照一般語言的長像應該會是

void setAge(int age){ }

應該好懂不少吧 ?

 

接下來我們再來看以下這句程式碼

  1. //一般的宣告方式,我們給予 setInfo 這個物件 Jack 與 35 兩個參數
  2. person.setInfo("Jack",35)
  3.  
  4. //Cocca 的宣告方式,我們可以增加變數的描述資訊像是 setName 和 andAge 之類
  5. [person setName:@"Jack" andAge:35];

 

到這邊讀者應該有一些基本的 cocca 的概念

下一篇 我則會講一些 Objective C 的概念

 

如果你對 iPhone 開發也有興趣,歡迎加入我跟幾個朋友一起開的

愛瘋愛趴實驗室 粉絲團

image

 

參考資料:

OS X 程式設計的第一步:Carbon 與 Cocoa 介紹

0 意見:

張貼留言

Related Posts Plugin for WordPress, Blogger...