WKWebView 入坑指南

2021-08-22 04:46:34 字數 1536 閱讀 4078

因專案js互動需要,同時因為支援的系統開始從ios 8 之後,所以就打算使用wkwebview替換掉專案中的uiwebview。本篇文章會持續更新在使用過程總碰到的問題。

坑二:在控制器直接呼叫[self.webview.configuration.usercontentcontroller addscriptmessagehandler:self name:@"***"]進行js互動時,造成迴圈引用無法釋放控制器(self).

中間**:建立乙個中間**物件**

@inte***ce

weakscriptmessagedelegate : nsobject

@property (nonatomic, weak) id

scriptdelegate;

- (instancetype)initwithdelegate:(id

)scriptdelegate;

@end

@implementation

weakscriptmessagedelegate

- (instancetype)initwithdelegate:(id

)scriptdelegate

return

self;

}- (void)usercontentcontroller:(wkusercontentcontroller *)usercontentcontroller didreceivescriptmessage:(wkscriptmessage *)message

@end

使用時:

wkusercontentcontroller *usercontentcontroller = [[wkusercontentcontroller alloc] init];

[usercontentcontroller addscriptmessagehandler:[[weakscriptmessagedelegate alloc] initwithdelegate:self] name:@"***"];

wkusercontentcontroller *controller = self

.webview

.configuration

.usercontentcontroller;

[self

.webview

.configuration

.usercontentcontroller addscriptmessagehandler:self name:@"***"];

} wkusercontentcontroller *controller = self

.webview

.configuration

.usercontentcontroller;

[controller removescriptmessagehandlerforname:@"***"];

}

Kafka入坑指南

kafka是為大資料而生的訊息中介軟體,以其百萬級tps的吞吐量名聲大噪,迅速成為大資料領域的寵兒,在資料採集 傳輸 儲存的過程中發揮著舉足輕重的作用,而storm,spark,flink等大資料流處理或批處理平台都有kafka的相關外掛程式支援。本著為開源做貢獻的原則,在學習kafka的同時也參與...

docker docker 入坑指南

用docker是因為在專案中需要在無網的情況下部署系統,因此環境依賴需要大量手動安裝,並且依賴中可能還有需要的依賴,簡直是無底洞。因為手動的原因,安裝堪稱是無底洞,並且乙個依賴安裝不成功會導致整個環境安裝失敗。基於此,開始探索通過docker的部署的方式解決 部署的問題,兩天的研究,可以說docke...

vim 入坑指南

個人站點 桃園 vim 被譽為 編輯器之神 與之同時代的 emacs 被譽為 神之編輯器 可以看得出 vim 在編輯器的地位是很高的,得益於 vim 的指法,敲起 來如行雲流水。特別膜拜創始人創始出這麼方便的敲 的指法,這篇文章就是來帶你入坑 vim 指法操作。在當今前端開發工具百花齊放的時代 vs...