參考完整 例子
使用 Swift 進(jìn)行 module 擴(kuò)展
因?yàn)?module 暴露 method 是通過(guò)Objective-C
宏來(lái)做的,調(diào)用的時(shí)候是通過(guò)反射,所以Swift擴(kuò)展 module 通過(guò)extension
Objective-C
的類。
新建 WXSwiftTestModule.h/m
和 WXSwiftTestModule.swift
文件, 在新建Swift文件的時(shí)候會(huì)提示
選擇 Create Bridging Header
, 因?yàn)槲覀円?Swift 中訪問(wèn) Objective-C
的一些類,正是通過(guò)這個(gè) header暴露 OC 的類給 Swift,header 格式為 yourTarget-Bridging-Header.h
,我這里創(chuàng)建完header文件名稱為:WeexDemo-Bridging-Header.h
WXSwiftTestModule.h/m
中實(shí)現(xiàn)
Swift 中實(shí)現(xiàn)
擴(kuò)展 OC 的類 WXSwiftTestModule
,增加了一個(gè)方法,這個(gè)方法就是我們要暴露出來(lái),在 js 中可以調(diào)到的
WXSwiftTestModule.swift
WXSwiftTestModule
和WXModuleCallback
因?yàn)槭?OC 的,需要在 WeexDemo-Bridging-Header
中暴露。
注意:請(qǐng)?jiān)?Swift 文件中為方法添加 @objc
修飾符,避免找不到方法的報(bào)錯(cuò)。
WeexDemo-Bridging-Header.h中
至此這個(gè)使用 Swift 開(kāi)發(fā)的簡(jiǎn)單的 module 已經(jīng)完成
module 使用