代码之家  ›  专栏  ›  技术社区  ›  Ben S

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

  •  7
  • Ben S  · 技术社区  · 15 年前

    我想能够定义一个内联匿名选择器,它是一个需要选择器作为参数的地方的选择器。

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

    背景 :在我的iPhone应用程序中,我需要从另一个线程更新我的用户界面。为了做到这一点,我用 performSelectorOnMainThread:withObject:waitUntilDone: 但是,我希望能够在不需要定义整个其他方法的情况下获得此功能。

    1 回复  |  直到 10 年前
        1
  •  16
  •   Chuck    10 年前

    不幸的是,没有。这个想法是自相矛盾的“选择者” 一个名字。就这些。它没有定义任何功能。

    Objective-C没有任何匿名功能,直到最近Mac OS X中引入了块。可以通过 Plausible Blocks 但是它们仍然没有集成到那里的API中。

    更新2014

    这个答案在2009年是正确的,但到目前为止,苹果已经整合了 blocks 非常熟悉iOS框架。它们现在被广泛地用于回调,并且在Grand Central Dispatch并发库中被大量使用。