将方法/函数作为目标C中的args传递

Bai*_*ose 1 macos asynchronous objective-c callback selector

我是Objective C的新手,我正在尝试实现一个与回调一起工作的异步库.我需要找到一种方法将回调方法作为args传递给我的异步方法,以便在任务完成时可以调用回调.

在Objective C中实现这一目标的最佳方法是什么?在Python中,例如我可以很容易地传递一个函数,但在Objective C中,似乎选择器是可行的方式(?).

任何人都能指出我可以获得一些想法的例子吗?

提前致谢.

Mic*_*yan 5

选择器是一种方法......另一种方法是创建协议并要求API的调用者提供实现协议的"委托"对象.然后,您可以在已给定的委托对象上调用该协议所需的选择器.每个都有其优点和缺点.

使用选择器的示例:NSThread:detachNewThreadSelector:toTarget:withObject

使用委托的示例:NSXMLParser:setDelegate + NSXMLParser:parse