【发布时间】:2010-10-28 14:50:34
【问题描述】:
NSObject 方法performSelector:withObject:afterDelay: 允许我在一段时间后使用对象参数调用对象上的方法。它不能用于带有非对象参数的方法(例如整数、浮点数、结构、非对象指针等)。
最简单的方法是用带有非对象参数的方法来实现同样的事情吗?我知道对于普通的performSelector:withObject:,解决方案是使用NSInvocation(顺便说一句,这真的很复杂)。但我不知道如何处理“延迟”部分。
谢谢,
【问题讨论】:
-
这有点骇人听闻,但我发现编写快速代码很有用。类似于: id object= [array performSelector: @selector(objectAtIndex:) withObject: (__bridge_transfer)(void*)1]; 。如果参数是 0,你甚至不需要桥接,因为 0 是“特殊的”并且 id 与之兼容。
标签: objective-c cocoa