因專案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...