2012-04-03 83 views

回答

1

從蘋果公司的文檔:

的performSelector:方法允許你發送非 確定,直到運行時消息

更長的故事:

您可以發送郵件到對象而事先不知道對象是否實現了這種特定的方法。例如:

NSString *astring = @"test"; 

[test dance]; // Doesn't compile 
[test performSelector:@selector(dance)]; // Doesn't make sense but compiles 
+0

謝謝..多數民衆贊成在有意義..你能夠給我一個例子,我會使用performSelector實現一個方法的對象嗎? – learner2010 2012-04-03 14:18:27

+1

例如,當你想在後臺執行一個方法: '[self performSelectorInBackground:@selector(myMethod)withObject:nil];' – Alladinian 2012-04-03 14:19:32

+0

感謝您的回覆。所以什麼時候我會使用performSelector相比,只是調用一個方法? – learner2010 2012-04-03 14:24:15

0

據我所知,使用選擇是聲明callback method爲我們所做的關於Java,C#的方式,...假設你開發庫A,這做異步計算並返回結果時它完成了。在開發時,當計算完成時,您不知道應該調用什麼回調方法。因此,您可以使庫獲得selector作爲輸入參數,稍後使用performSelector來調用回調方法。

希望這會有所幫助。

相關問題