在Objective-C,進行選擇的方法都一樣:爲什麼performSelector:withObject:方法只能使用id?
- performSelector:withObject:
- makeObjectsPerformSelector:withObject:
- performSelectorInBackground:withObject:
,只能採取ID(指針)對象的參數?你知道爲什麼嗎 ?是從C繼承的東西,並使用線程我們需要一個指針?
編輯:,以及我們不能直接創建指針的Objective-C。如果我想用指針做下面的事情,這是否正常工作? (我瞭解的NSNumber和NSValue類,但我只是想了解它是如何工作)
int i = 5;
int *pointer_i = &i;
[self performSelector:mySelector withObject:pointer_i];
啊!你可以說它需要一個類型爲void *的參數。但我仍然在這裏理解你的問題。 – 2011-03-21 13:48:32
@Praveen S每個'id'都是一個指針,但不是每個'void *'都是'id'。 – Jilouc 2011-03-21 14:09:07