目标 C 中的桥接头 - 程序中出现意外的“@”

Posted

技术标签:

【中文标题】目标 C 中的桥接头 - 程序中出现意外的“@”【英文标题】:Bridging header in objective C - Unexpected '@' in program 【发布时间】:2018-10-16 23:45:39 【问题描述】:

我正在尝试在我的Objective C 项目中使用我的一些swift 类。 在做之前,我已经验证了ios版本。ç

我正在使用 Can't use Swift classes inside Objective-C

但是,目前更新MyProject-Bridging-Header.h 为:

@import Foundation;


@objc public class myClass

我得到错误:

程序中的意外“@”应为“;”在***声明符之后

如何解决此错误以导入我的 swift 类?

【问题讨论】:

将桥文件留空,仔细阅读您分享的链接中的所有步骤 为什么要在 Objective-C 标头中编写 Swift 代码? 【参考方案1】:

当你想导入 swift 类时说(假设在名为 MySwift.swift 的文件中被拖到项目中)

@objc public class MyClass:NSObject 


在objective-c项目中,你不应该把它放在bridge .h文件中,而只导入这一行

#import "ProjectName-Swift.h"

你在 .m 文件的顶部使用的类

【讨论】:

以上是关于目标 C 中的桥接头 - 程序中出现意外的“@”的主要内容,如果未能解决你的问题,请参考以下文章

Swift 项目中的 Objective C pod - 正确的桥接头?

无法在快速单元测试中使用 Objective-C 类

Swift 中的桥接头转换

Swift 中的桥接头转换

框架方法可访问性中的桥接头

在 Parse 项目中删除了桥接头