是否可以在Objective-C中定义匿名选择器?

Ben*_*n S 7 iphone objective-c anonymous-methods selector

我希望能够定义一个内联匿名选择器,选择器只需要一个选择器作为参数.

这是可能的,还是我必须吮吸它并定义一个方法?

背景:在我的iPhone应用程序中,我需要从另一个线程更新我的UI.要做到这一点,我使用performSelectorOnMainThread:withObject:waitUntilDone:但是,我希望能够获得此功能,而无需定义整个其他方法.

Chu*_*uck 16

很不幸的是,不行.这个想法是自相矛盾的 - 选择器一个名字.这就是全部.它没有定义任何功能.

直到最近,当块被引入Mac OS X时,Objective-C没有任何类型的匿名功能.可以通过Plausible Blocks在iPhone上使用它们,但它们仍然没有集成到那里的API中.

2014年更新

这个答案在2009年是正确的,但到目前为止,Apple已经将很好地集成到iOS框架中.它们现在非常普遍地用于回调,并且在Grand Central Dispatch并发库中被大量使用.