我是Objective C新手,我試圖實現一個使用回調函數的異步庫。我需要找出一種方法將回調方法作爲參數傳遞給我的異步方法,以便在任務完成時調用回調。在Objective C中傳遞方法/函數作爲參數C
目標C中達到此目的的最佳方法是什麼?在Python中,例如,我可以輕鬆地傳遞函數,但在Objective C中,似乎選擇器是要走的路(?)。
任何人都可以指出我從哪裏可以得到一些想法的例子嗎?
在此先感謝。
我是Objective C新手,我試圖實現一個使用回調函數的異步庫。我需要找出一種方法將回調方法作爲參數傳遞給我的異步方法,以便在任務完成時調用回調。在Objective C中傳遞方法/函數作爲參數C
目標C中達到此目的的最佳方法是什麼?在Python中,例如,我可以輕鬆地傳遞函數,但在Objective C中,似乎選擇器是要走的路(?)。
任何人都可以指出我從哪裏可以得到一些想法的例子嗎?
在此先感謝。
我想我已經找到了答案,我的問題在this question。
This example code在蘋果的開發者網站上是非常有用的。
選擇器是一種可行的方法......另一種方法是創建一個協議並要求API的調用者提供一個實現該協議的「委託」對象。然後你可以在你給出的委託對象上調用該協議所需的選擇器。各有其優點和缺點。
例使用選擇:NSThread:detachNewThreadSelector:toTarget:withObject
示例使用委託:NSXMLParser:setDelegate + NSXMLParser:parse