- 學(xué)習(xí)React native 與 iOS混編的demo,參照百度糯米開發(fā)APP開發(fā)。
1、參考官網(wǎng)
2、React native 與 Swift 互調(diào)
1、實(shí)現(xiàn)效果:點(diǎn)擊React native的ListView的一行,然后 調(diào)用Swfit代碼的
addEvent方法(callback:回調(diào)js代碼執(zhí)行alert('d'), 然后執(zhí)行Swift代碼進(jìn)行控制器跳轉(zhuǎn))

效果圖:iOS調(diào)用回調(diào)React native彈框 ‘test’,然后 React 調(diào) Swift點(diǎn)擊進(jìn)行跳轉(zhuǎn).gif
-
混編頭文件配置,導(dǎo)入需要的頭文件
1.png

2.png
typedef void (^RCTResponseSenderBlock)(NSArray *response);

3.png
-
js 調(diào)用iOS代碼;iOS回調(diào)處理
4.png

5.png
2、解析:
- 圖中:1. ReactNative 調(diào)用iOS代碼
- ManagerBridger.addEvent(......)
var ManagerBridger = require('react-native').NativeModules.ManagerBridger;
ManagerBridger.addEvent(titleName, ()=>{
alert('d');
});
- 圖中:2. iOS 回調(diào) React native 代碼-> 借助RCTResponseSenderBlock 進(jìn)行回調(diào)處理
ManagerBridger.addEvent(titleName, ()=>{
alert('d');
});

