[objective-c]教程七-----反思Objective-C類

改定履歷:

2012-05-07---------------新建文本文檔

正文:

本文原文地址

Class Introspection

1. 確認objective-c對象是否是一個類的實例:

[obj isMemberOfClass:someClass];

2. 確認objective-c對象是否是一個類的實例或是其子孫.

[obj isKindOfClass:someClass];

3. 類版本:

[MyString version]

4. 找出objective-c對象的類

Class c = [obj1 class];
Class c = [NSString class];

5. 驗證兩個objective-c對象是否屬於同一個類:

[obj1 class] == [obj2 class]

Objective-C Selector

objective-c 選擇器(selector)是objective-c對象方法的唯一標識.

1. 獲取方法的selector:

SEL mySelector;
mySelector = @selector(setValue:param2:);

2. 從字符串獲取selector

mySelector = NSSelectorFromString(name);

3. 以字符串的方式返回方法名:

NSString method = NSStringFromSelector(mySelector);

在運行時驗證一個對象實現了哪些內容:

確認對象是否實現了某方法:

if ( [myObj respondsToSelector:@selector(method1:)] ) {
    [myObj method1];
}

運行時方法調用:

運行時使用"selector"運行方法:

[obj performSelector:@selector(method1:)
    withObject:value];

等價於:

[obj method1:value];

===============================本系列教程結束===========================

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章