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

2010年11月29日 星期一

iphone app 開發 (十六) Objective-C 的特殊資料類型

Bookmark and Share

image

 

這篇將介紹一些 Objective-C 相對於 C 所增加的一些資料類型,希望在大家寫 App 的過程中得到一些幫助。

一、BOOL

即真假值,但是其實是整數型態,如果等於 0 ,表示 True ,如果等於 1 ,表示 False

 

二、id

前幾篇有提過,是一個能夠代表多個類型的型態,本身是指標,所以不需要加上星號,Objective-C 與 Java 跟 C++ 不一樣,呼叫物件的 method 並不需要知道這個物件的型別。過它卻規定只能用在物件。當然這個 method 一定要存在,這稱為 Objective-C 的訊息傳遞。此種型態的好處是當你去呼叫不知道什麼類型的 method 時不需要特別去做轉型。

例如: id strTest = @”helloWorld”;

 

三、IMP

指向 Objective-C 方法的指標,可以透過 methodFor 的訊息傳遞給 NSObject 來取得 IMP

例如:IMP myIMP = [Obj methodFor:selObj]

 

四、SEL

SEL 是一個 Selector 類型,當我們需要動態的呼叫某個尚不知道的方法名稱時,可以先用 SEL類型,從 iPhone 創意程式設計家裡面有一個範例如下

 

1. 如果在編譯期間就知道名稱

SEL myMethod1 = @selector(setWidth:height:);

 

2. 動態傳入方法名稱

SEL myMethod2 = NSSelectorFromString(@”setWidth:height:”);

[myObj perform:myMethod1];

 

 

五、STR

即 C 語言的字串類型

 

六、IBOutlet 、 IBAction

之前寫的文章 有用到過,主要目的是對 Interface Builder 提示用,與 void 有類似的意思,為一個巨集定義,這篇文章 有較深入的介紹

0 意見:

張貼留言

Related Posts Plugin for WordPress, Blogger...