当前位置: 首页 > 知识库问答 >
问题:

连接swift和objective-c

糜淇
2023-03-14

我有objective-c项目,并在其中添加了swift文件。我创建了桥接文件,并在一些头文件中导入了swift文件,没有任何问题。

但是我需要通过在中添加一些头文件到swft文件中。"

如果我把头文件放在桥文件中,而这个头文件以前是importswift文件;Xcode为swift网桥文件提供错误消息:“未找到文件”。

i. e.

>

  • 我有一个项目名叫:“ProjectBlaBla”

    我有一个名为“readingPage.h”的头文件

    我有一个名为“readingSwift.swift”的swift文件

    swift桥文件名:“ProjectBlaBla swift.h”

    我创建了头桥文件:“projectblablabridgeheader.h”

    我在“readingPage.h”文件中毫无问题地导入了“ProjectBlaBla Swift.h”,并在objective-c中使用了Swift类

    当我在“ProjectBlaBla bridgeing Header.h”中导入“readingPage.h”时,我在“readingPage.h”中收到错误消息,上面写着:“ProjectBlaBla Swift.h文件未找到”

    有什么建议吗?

    谢谢


  • 共有3个答案

    尤夕
    2023-03-14

    两种选择

    1. 导入“readingPage.m”文件中的“ProjectBlaBla Swift.h”,而不是“readingPage.h”文件
    2. 创建一个名为“Prefix.PCH”的新PCH文件,并在“Prefix.PCH”文件中导入“projectbla Swift.h”

    注:前缀。pch是一个预编译头,它可以加快编译速度。您不需要重新导入在prefix中导入的任何文件。ch文件。

    潘宪
    2023-03-14

    检查桥接头路径是否正确。在左侧,选择项目名称-

    夏才
    2023-03-14

    您无法引用-Swift。h文件直接或间接位于桥接头中。h文件。

    如果您打开-Swift. h,您将看到顶部附近的一行,在我的情况下是第99行:#导入/用户/.../...-Bridging-Header. h",意思是-Swift. h已经导入-Bridging-Header. h,因此导入回来会创建循环依赖关系。

    为了避免这种情况,您在中导入的任何头都是桥接头。h必须使用对Swift类或协议的转发引用,如本问题答案中所述。

    简而言之,如果readingPage。h使用名为MySwiftClass的Swift类。您应该:

    1. 删除对-Swift的任何引用。h来自阅读页面。h
    2. 导入-Swift。h阅读页面中的。m
    3. 插入@class myswitclass 进入阅读页面。h在使用该类之前,让Objective-C知道该类存在并在其他地方声明

     类似资料:
    • 问题内容: 我有一个这样的: 但我想将其转换为: 我怎样才能做到这一点? 问题答案: 逃避想要的角色还需要做更多的工作。 范例程式码 iOS7及以上: NSLog输出: escapedString:http%3A%2F%2Fwww 以下是有用的URL编码字符集: 创建一个结合以上所有内容的角色集: 创建一个Base64 对于Base64字符集: 对于Swift 3.0: 对于Swift 2.x:

    • 本文向大家介绍Swift和Objective-C 混编注意事项,包括了Swift和Objective-C 混编注意事项的使用技巧和注意事项,需要的朋友参考一下 Swift和Objective-C 混编注意事项整理: 前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛。当然这对新入行的童鞋没来讲,的确算是福音,但对于整个iO

    • 问题内容: 我正在尝试将Objective-C框架与Swift编程语言一起用于iOS 8开发。这是导入的一个特定情况,但是一般的问题是: 您如何将Objective-C框架导入Swift并获得认可? 我正在尝试使用iOS 8和Xcode 6 Beta将Parse框架集成到快速应用程序中。 这是在Objective-C中进行Parse框架集成的技术: https://www.parse.com/ap

    • 我正在尝试使用Swift编程语言的Object-C框架进行iOS8开发。这是导入的具体情况,但一般问题是: 如何将Objective-C框架导入swift并使导入得到认可? 我正在尝试使用ios8和xcode6beta将解析框架集成到swift应用程序中。 以下是Objective-C中解析框架集成的技术: https://www.parse.com/apps/quickstart#social/

    • 问题内容: 从OS X命令行编译Swift: 从命令行编译目标C: 我可以将-c选项添加到任一编译器以生成.o文件。 如何将这两个源文件链接到一个应用程序中? 还是需要建造更多? 问题答案: TL; DR :最好使用Xcode工具,因为有很多事情要进行。但是也可以只使用命令行工具。 我会警告您,这是一个如何编译和运行与Cocoa和Swift运行时链接的和文件的快速而肮脏的示例。我什至没有尝试遵循双

    • 本文向大家介绍Swift调用Objective-C代码,包括了Swift调用Objective-C代码的使用技巧和注意事项,需要的朋友参考一下 最近iOS开发之新编程语言Swift在iOS开发圈内反响比较大,国内外都有很多教程或小示例。 虽然Swift这门语言仍然在不断的进化之中,而且变动还是比较大,苹果公司也不承诺目前所写代码会在将来兼容,但仍挡不住iOS开发者的热情。 为什么要使用Swift调

    • 问题内容: 我无法从Objective-C访问Swift Singleton。 swiftSharedInstance无法访问。 问题答案: 现在,我有以下解决方案。也许我忽略了一些使我能够直接访问“ swiftSharedInstance”的东西? 然后在ObjC中,我可以获取sharedInstance类方法(在导入xcode生成的swift标头绑定之后)

    • Swift 3 与 Objective-C 的 API 接口比以前的版本更好用了。比如说,Swift 2 把 Objective-C 中的 id 映射为 Swift 中的 AnyObject ,它一般能储存类类型的值。Swift 2 同样为一些桥接的值类型提供了隐式的 AnyObject  ,比如说 String 、 Array 、 Dictionary 、 Set 以及某些数值,作为一种 Swi