我的技術博客經常被流氓網站惡意爬取轉載。請移步原文:http://www.49028c.com/hamhog/p/3805270.html,享受整齊的排版、有效的鏈接、正確的代碼縮進、更好的閱讀體驗。
有的時候我們會需要把SEL放在NSArray、NSDictionary等集合類型里,比如開新線程執行某函數,傳多個參數的時候。但是SEL是不能直接作為NSArray成員的。
可以將它轉化為NSString,然后再轉化回來。假設SEL名為callback。
轉化為NSString:
NSString* string = NSStringFromSelector(callback)
從NSString轉化回來:
SEL callback = NSSelectorFromString(string);
一個簡單的例子如下:
NSArray* params = [NSArray arrayWithObjects:target, NSStringFromSelector(callback), nil];
SEL callback = NSSelectorFromString(params[1]);
新聞熱點
疑難解答