在swift中导入swift链接的objc类

Raghav7890

我目前工作的项目有 Objective-C 和 Swift 与桥接头链接,一切正常。但在一种情况下,Obj-c 中的这个特定 viewController.h 已经 swift 导入。当我尝试在另一个 Swift 控制器中访问此 viewController.h 时,它说找不到“<#project-name#>-swift.h”文件

指导我如何快速访问这个 objC 文件 :(

编辑:详细!!

我有一个 viewController.h 文件,我在其中通过导入 '<#project-name#>-swift.h' 实现了 swift 模型

但是当我尝试从 SecondViewController.swift 访问这个 viewController.h 时,我必须将它添加#import "viewController.h"到我的项目的桥接头中。如果我这样做,我会收到此错误'<#project-name#>-swift.h' file not found

安纳托利

如果我对您在做什么的理解是正确的,那么问题在于projectname-Swift.h标题包含在标题 ( viewController.h) 中,而标题 ( ) 又被导入到桥接头中。

https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-ID122 上的文档讨论了*-Swift.h.m文件中包含生成的文件, 不在 headers 中,建议它不应包含在 headers 中以避免循环依赖。您仍然可以将其包含在标题中,但如果标题包含在桥接头中,则会中断。

我想导入*-Swift.hviewController.m,没有viewController.h如果需要将 Swift 类型作为属性、参数或返回类型引用 in viewController.h,则可以使用前向声明,例如

@class MySwiftModelClass;

如果类在viewController.h扩展中声明MySwiftModelClass,那么事情会变得有点棘手。如果是这种情况,请发布更具体的简短示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章