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。重新运行项目。

相关推荐
for_ever_love__10 小时前
UI学习:多界面传值的正向传值(属性传值)和反向传值(代理传值)
学习·ui·ios·objective-c
开心就好202512 小时前
全面介绍iOS开发工具:Xcode、AppCode、CocoaPods、Fastlane和Git
后端·ios
懋学的前端攻城狮13 小时前
数据持久化与缓存策略:在离线与在线间架起桥梁
ios·swift
~央千澈~14 小时前
以cocos3.8.8开发的游戏为例商业实战项目举例cocos打包ios苹果安装包ipa完整详细教程-优雅草卓伊凡
ios
SameX16 小时前
iOS 足迹 App 的成就系统,我推倒重做了一次——踩了3个坑之后
ios
SameX16 小时前
我做了一个把专注计时变成「声音护照」的 iOS App,聊聊数据可视化和成长系统的设计思路
ios
SameX16 小时前
我用 SpriteKit 给存钱罐装了个物理引擎
ios
开心就好202517 小时前
Charles配置HTTP和HTTPS抓包完整指南
后端·ios
JarvanMo17 小时前
7 个开源 iOS 应用,让你成为更好的开发者
前端·ios
白玉cfc17 小时前
OC底层原理:alloc&init&new
c++·macos·ios·objective-c·xcode