我是Objective C的新手,我正在尝试实现一个与回调一起使用的异步库。我需要找到一种方法将回调方法作为args传递给我的异步方法,以便在任务完成时可以调用回调。
在Objective C中实现这一目标的最佳方法是什么?在Python中,例如我可以轻松地传递一个函数,但在Objective C中,似乎选择器是可行的方式(?)。
有人能指出我可以获得一些想法的例子吗?
提前致谢。
答案 0 :(得分:5)
选择器是一种方法......另一种方法是创建协议并要求API的调用者提供实现协议的“委托”对象。然后,您可以在已给定的委托对象上调用该协议所需的选择器。每个都有其优点和缺点。
使用选择器的示例:NSThread:detachNewThreadSelector:toTarget:withObject
使用代理的示例:NSXMLParser:setDelegate + NSXMLParser:parse
答案 1 :(得分:0)
我想我在this question找到了我的问题的答案。
Apple开发者网站上的This example code非常有用。