Swift in Weex
Posted 淘系技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift in Weex相关的知识,希望对你有一定的参考价值。
参考 Swift和Objective-C
weex ios SDK 是使用Objective-C
,结合部分C
写的,
引入Swift,需要混编,直接进入正题
SDK集成
使用cocoaPods 集成跟 使用Objetive-C 一样的集成方式
导入framework
Import the framework you get above and import system framework
Add
main.js
(which is in the WeexSDK.framework) to your main bundle添加
-ObjC
(注意大小写)import
WeexSDK
就像Swift的module 一样
WeexSDK 已经在build setting 里面打开了define module
更多参考这里(阅读原文跳转链接:)
module 扩展
因为module 暴露method 是通过Objective-C
宏来做的,调用的时候是通过反射,所以Swift扩展module通过extension
Objective-C
的类,以下操作,可以直接在weex 的iOS playground 中进行
新建
WXSwiftTestModule.h/m
和WXSwiftTestModule.swift
文件, 在新建Swift文件的时候会提示
选择Create Bridging Header
, 因为我们要在swift中访问Objective-C
的一些类,正是通过这个header暴露OC的类给Swift,header格式为yourTarget-Bridging-Header.h
,我这里创建完header文件名称为:WeexDemo-Bridging-Header.h
WXSwiftTestModule.h/m
中实现WXSwiftTestModule.h 中
WXSwiftTestModule.m 中
WeexDemo-Swift.h 这个文件需要编译一下才可以搜索到,具体的路径
Swift 中实现
扩展 OC的类WXSwiftTestModule
,增加了一个方法,这个方法就是我们要暴露出来,在js中可以调到的WXSwiftTestModule.swift
WeexDemo-Bridging-Header.h中
路径具体需要根据自己工程而定
WXSwiftTestModule
和WXModuleCallback
因为是OC的,需要在WeexDemo-Bridging-Header
中暴露
至此这个Swift的简单的module 已经算是开发完成
module 使用
注册module
we 文件中使用
点击【阅读原文】,了解更多weex相关信息,微信中不能跳转的许多链接可以点击原文跳转。
以上是关于Swift in Weex的主要内容,如果未能解决你的问题,请参考以下文章
如何将这个 Objective-C 代码片段写入 Swift?
如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?
用weex create 创建app项目 报 ERROR in index.web.js from UglifyJs 错误!