OC和JS代碼的互調(diào)

Html決定網(wǎng)頁的內(nèi)容,css決定網(wǎng)頁的樣式,js決定網(wǎng)頁的事件

01 OC調(diào)用JS的代碼 
    NSString *str = [self.webView stringByEvaluatingJavaScriptFromString:@"sum()"];

02 JS怎么調(diào)用OC的說明 
    新的需求:點(diǎn)擊按鈕的時(shí)候撥打電話
    但是我在點(diǎn)擊按鈕的時(shí)候,用戶是不知道的,我們?cè)趺茨軌蛑烙脩酎c(diǎn)擊了網(wǎng)頁上面的一個(gè)按鈕,只能通過一個(gè)技巧,那就是自己搞一個(gè)特定的協(xié)議頭比如說xmg://,當(dāng)我攔截到你的網(wǎng)絡(luò)請(qǐng)求的時(shí)候,只需要判斷一下當(dāng)前的協(xié)議頭是不是這個(gè)就能判斷你現(xiàn)在是否是JS調(diào)用。 OC里面有通過字符串生成SEL類型的方法,所以當(dāng)拿到數(shù)據(jù)之后做下面的事情 
          1)截取方法的名稱 
          2)將截取出來的字符串轉(zhuǎn)換為SEL 
          3)利用performSelect方法來調(diào)用SEL

03 涉及到的相關(guān)方法
       [@"abc" hasPrefix:@"A"] //判斷字符串是否以一個(gè)固定的字符開頭,這里為A 
      //截串操作 
      - (NSString *)substringFromIndex:(NSUInteger)from; 
      //切割字符串,返回一個(gè)數(shù)組 
      - (NSArray<NSString *> *)componentsSeparatedByString:(NSString *)separator;
      //替換操作 
      - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
      //把string包裝成SEL 
      SEL selector = NSSelectorFromString(sel);

04 如何屏蔽警告 
    #pragma clang diagnostic push 
    #pragma clang diagnostic ignored "-Warc-performSelector-leaks" 
        //-Warc-performSelector-leaks為唯一的警告標(biāo)識(shí)
        [self performSelector:selector withObject:nil]; 
    #pragma clang diagnostic pop
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,118評(píng)論 1 92
  • 1.幾種基本數(shù)據(jù)類型?復(fù)雜數(shù)據(jù)類型?值類型和引用數(shù)據(jù)類型?堆棧數(shù)據(jù)結(jié)構(gòu)? 基本數(shù)據(jù)類型:Undefined、Nul...
    極樂君閱讀 5,876評(píng)論 0 106
  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    前端進(jìn)階之旅閱讀 115,545評(píng)論 24 450
  • 剛才翻看了大家的評(píng)論,十條有七條是在鄙視百科全書型人才的,我不經(jīng)懷疑大家是否有對(duì)這個(gè)類型的人才有過思考,就很隨意的...
    夢(mèng)游世界閱讀 346評(píng)論 0 1
  • 將一個(gè)UIView顯示在最前面只需要調(diào)用其父視圖的 bringSubviewToFront()方法。將一個(gè)UIVi...
    Happy曉哥閱讀 1,924評(píng)論 0 51

友情鏈接更多精彩內(nèi)容