【发布时间】:2011-03-21 13:46:43
【问题描述】:
在 Objective-C 中,所有执行选择器的方法都是这样的:
- 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 * 类型的参数。但我仍然在这里理解你的问题。
-
@Praveen S 每个
id都是一个指针,但不是每个void *都是id。
标签: iphone objective-c c ios pointers