React Native中iOS工程从OC更换为swift

OC文件主要有两种

  • .h 表示头文件,用来声明各种成员变量,方法,属性之类的。
  • .m 主要用来实现.h 里声明的方法。

在我们的项目中创建一个AppDelegate.swift文件

这时候会弹出一个 "create bridging header"的确认页面,Swift和OC混编是需要添加oc和swift桥接文件的,这里点击Create bridging header就好。

一些转换

swift 复制代码
#import <UIKit/UIKit.h>
转换为
import UIKit
UIApplicationMain 注释在 Swift 中用于标记一个类作为应用程序的代理。这是替代 Objective-C 中 main 函数的方式。

在 Swift 中,方法签名的语法和 Objective-C 不同。例如,application:didFinishLaunchingWithOptions: 在 Swift 中被转换为 application(_:didFinishLaunchingWithOptions:)。

Swift 中的字典字面量语法和 Objective-C 不同。例如,@{} 在 Swift 中被转换为 [:]。

AppDelegate.m文件中

这里引入的React Native相关的包,由于是OC文件,所以要把这些内容添加到bridging header桥接文件中。

swift 复制代码
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>

转换完成后,删除AppDelegate.hAppDelegate.mmmain.m, 然后清除项目,按下cmd+R。重新运行项目。

相关推荐
sweet丶2 小时前
iOS应用启动过程深度分析与优化实践
ios
largecode5 小时前
企业名称能在来电显示吗?号码显示公司名服务打通多终端展示
android·xml·ios·iphone·xcode·webview·phonegap
MonkeyKing5 小时前
iOS Core Animation 渲染架构详解:Render Server 与 Commit Transaction
ios
MonkeyKing5 小时前
iOS Auto Layout 原理详解:Cassowary 算法、性能问题与优化
ios
运维之美@6 小时前
Nginx性能优化(二):HTTP/2升级指南,让你的网站开启极速模式
ios·iphone
sealaugh326 小时前
react native(学习笔记第五课) 英语打卡微应用(4)- frontend的列表展示
笔记·学习·react native
恋猫de小郭6 小时前
Flutter GenUI 0.9 和 A2UI 0.9 发布,全动动态 UI 支持,AI 在 App 里直出界面
android·flutter·ios
sakiko_7 小时前
Swift/UIkit学习笔记27-模块管理,发送位置信息
前端·笔记·学习·ios·swift·uikit
沐言人生1 天前
ReactNative 源码分析9——Native View初始化
android·react native
接着奏乐接着舞1 天前
react native expo打包
javascript·react native·react.js