解決調用performSelector產生警告問題

if ([self.dockView respondsToSelector:NSSelectorFromString(@"setSubViews")]) {
    // 這樣會產生警告
    // [self.dockView performSelector:NSSelectorFromString(@"setSubViews")];
    SEL selector = NSSelectorFromString(@"setSubViews");
    IMP imp = [self.dockView methodForSelector:selector];
    void (*func)(id, SEL) = (void *)imp;
    func(self.dockView, selector);
}

下面是帶參數情況

SEL selector = NSSelectorFromString(@"processRegion:ofView:");
IMP imp = [_controller methodForSelector:selector];
CGRect (*func)(id, SEL, CGRect, UIView *) = (void *)imp;
CGRect result = func(_controller, selector, someRect, someView);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,270評論 0 4
  • 原文地址:C語言函數調用棧(一)C語言函數調用棧(二) 0 引言 程序的執行過程可看作連續的函數調用。當一個函數執...
    小豬啊嗚閱讀 4,704評論 1 19
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,982評論 19 139
  • 寒潮來襲,天真的冷了。寒來暑往,四季更迭,亙古不變,這就是歲月,默默流逝,等我們不經意回頭,一切猝不及防。 歲月帶...
    若素向陽閱讀 129評論 0 0
  • 自我介紹: 小伙伴們大家好!我的真名叫田野,我來自湖北孝感,目前在經營一家小便利店。最大的愛好是讀書,唯有讀書...
    史考克灰狼閱讀 349評論 4 1