【问题标题】:Started React Native With Swift Instead Of Objective C使用 Swift 而不是 Objective C 开始 React Native
【发布时间】:2019-03-09 10:53:05
【问题描述】:

所以我使用 create-react-native-app 启动了一个 react native 应用程序,它创建了很多样板代码。 Android 在JAVA 中,我很满意。但是iOS在Objective-C,我更熟悉Swift。有什么我可以做的吗?我知道我的大部分代码无论如何都会在JavaScript 中,但我还是想知道。

【问题讨论】:

    标签: ios objective-c swift react-native


    【解决方案1】:

    您可以将 swift 转换为目标 c 或将目标 c 转换为 swift。

    有很多选项,如果你想使用 javascript 进行转换而不是使用 obj2swift.js:https://github.com/okaxaki/objc2swift

    如果您想在线转换您的代码,可以使用在线语言转换器,例如 swiftify: https://swiftify.com/#/converter/code/

    【讨论】:

      【解决方案2】:

      不幸的是,没有一种简单或一种命令方法可以将 React Native 项目中的 iOS 代码从 Objective-C 转换为 Swift。但是,如果你想写一个Native Module,你需要eject from CRN 或者用react-native init 开始一个新项目,你可以在Swift 中编写新代码。

      您可能还对这个post 感兴趣,了解如何桥接SwiftObjective-C 代码。基本上,当您创建一个新的 swift 文件时,您需要确保在出现提示时选择“创建桥接头”。

      【讨论】:

        【解决方案3】:

        你的问题不是很清楚。但是,如果你想在跨平台上工作,那么让我这么说,如果你想使用 javscript,那么 react native 是一个不错的选择。关于您的问题,请引用“但是 IOS 在 Objective C 中”,这是您错的,您可以使用 Objective c,甚至 c 和 c++,..and swift 编写 iOS 本机,您说您熟悉如果你避免使用目标 c,那么你可以纯粹用 swift 编写 iOS 应用程序。希望对您有所帮助。

        提示

        1 for cross platform - and you want js (react native)
        2. cross platform and you wanted to use c# (Xamarine)
        3. iOS app which is native (Swift or objective c) or both
        4. hybrid , you can try framework like ionic, cordova etc.
        5. let us include android , you can use java(kotlin
        

        【讨论】:

        • 我强烈觉得你并没有真正理解我在说什么。看,当我在命令行中使用 create-react-native-app 时,它会创建样板代码。该目录的根目录是一个 android 文件夹、iOS 文件夹和索引 javascript 文件。 android文件夹中的代码是Java。 iOS 中的代码在目标 C 中。我想知道是否有一种简单的方法可以让我使用该命令或其他命令来初始化我的 react 本机项目,其中 iOS 文件夹代码在 Swift 中而不是在目标 C 中.
        • 你想用什么?你想用 react native 对吧?
        • 如果您在生成项目时使用 create-react-native-app 命令,那么这是纯粹的 react native,语言是 react js。您不必担心生成的其他文件。
        • 快速而客观的c与react native无关。
        猜你喜欢
        • 2017-06-18
        • 1970-01-01
        • 2023-01-03
        • 2020-09-06
        • 1970-01-01
        • 1970-01-01
        • 2018-11-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多