gpt4 book ai didi

ios - 我已经全部尝试过了,但我无法将我的 Swift 文件导入到我的 Objective-C 文件中

转载 作者:可可西里 更新时间:2023-11-01 01:05:06 25 4
gpt4 key购买 nike

我已经在 StackOverflow 上阅读了多个线程,但我似乎无法找到我的问题的答案。我的文件夹层次结构是这样的:

"Project Name"
- "Helpers"
"FileIWantToImport.swift"
"FileIWantToImportTo.m"

我有:

  • 将build设置设置为具有产品模块名称 FMB
  • 设置Defines ModulesYES
  • 由 Xcode 创建的桥接 header
  • 清理了我的构建
  • #import FMB-swift.h在我的 AppDelegate 中没有任何问题
  • 已添加 @objc到我文件中的类声明,所以它说 @objc class MyClass: NSObject

然而。我一辈子都弄不明白为什么它不会导入 FileIWantToImportTo.m

我试过:

  • #import "FMB-swift.h"
  • #import "Helpers/FMB-swift.h"
  • #import "Product Name/Helpers/FMB-swift.h"
  • #import <FMB-swift.h>
  • #import <Helpers/FMB-swift.h>
  • #import <Product Name/Helpers/FMB-swift.h>

我得到的是"file not found"错误。有人可以指出我正确的方向吗?我查看了所有其他线程和苹果文档,但无法弄清楚。如果有区别的话,我在 Xcode 7 和 10.11 GM 中运行。

编辑:这是一个示例项目 https://github.com/Aghassi/Example-Project

最佳答案

这是你需要做的:

  1. 在您基于 ObjC 的项目中创建一个 Swift 文件。无需创建桥接 header ,因为它们用于查看来自 swift 的 ObjC 代码,而不是来自 ObjC 的 swift 代码。

  2. 在您的 Target 中,在build设置下设置 Embedded Content Contains Swift Code是的

enter image description here

  1. 您的 Swift 文件应该有一个@objc 公共(public)类。

    @objc public class Example: NSObject {
    public func printSomething(text: String) {
    print(text);
    }
    }
  2. 检查您的项目名称,并在您的 .m 文件中添加 #import <ProjectsName-Swift.h> ,并且您应该能够实例化在 Swift 文件中定义的类及其所有公共(public)方法。您可能需要在导入 -Swift.h 文件之前构建您的项目。

这是一个使用 Swift 代码的 ObjC 类示例项目:https://github.com/lucaslt89/Example-Project.git

关于ios - 我已经全部尝试过了,但我无法将我的 Swift 文件导入到我的 Objective-C 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32540506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com