我一直在想出爲什麼以及如何使用performSelector。 我的確遇到過Apple Docs。但是,我無法完全理解它。何時以及爲什麼要使用performSelector - iOS
任何人都可以幫助我解釋這一點嗎?
我一直在想出爲什麼以及如何使用performSelector。 我的確遇到過Apple Docs。但是,我無法完全理解它。何時以及爲什麼要使用performSelector - iOS
任何人都可以幫助我解釋這一點嗎?
從蘋果公司的文檔:
的performSelector:方法允許你發送非 確定,直到運行時消息
更長的故事:
您可以發送郵件到對象而事先不知道對象是否實現了這種特定的方法。例如:
NSString *astring = @"test";
[test dance]; // Doesn't compile
[test performSelector:@selector(dance)]; // Doesn't make sense but compiles
據我所知,使用選擇是聲明callback method
爲我們所做的關於Java,C#的方式,...假設你開發庫A,這做異步計算並返回結果時它完成了。在開發時,當計算完成時,您不知道應該調用什麼回調方法。因此,您可以使庫獲得selector
作爲輸入參數,稍後使用performSelector
來調用回調方法。
希望這會有所幫助。
謝謝..多數民衆贊成在有意義..你能夠給我一個例子,我會使用performSelector實現一個方法的對象嗎? – learner2010 2012-04-03 14:18:27
例如,當你想在後臺執行一個方法: '[self performSelectorInBackground:@selector(myMethod)withObject:nil];' – Alladinian 2012-04-03 14:19:32
感謝您的回覆。所以什麼時候我會使用performSelector相比,只是調用一個方法? – learner2010 2012-04-03 14:24:15