gpt4 book ai didi

ios - #import ProjectName-Swift.h 到头文件中不能将 swift 用作 .h 属性?

转载 作者:搜寻专家 更新时间:2023-11-01 05:37:23 25 4
gpt4 key购买 nike

所以我尝试使用@objc swift 类作为我的 objective-c 头文件的属性。

例子

@objc class SwiftClass: NSObject {
}


@interface ObjcObject : NSObject

#pragma mark - Public Properties -
@property (nonatomic, weak) SwiftClass* swiftClass;

但是,如果我 #import ProjectName-Swift.h 它会给我一个错误“'ProjectName-Swift.h'file not found'

我在这里找到了一个答案,暗示您实际上不能将 Swift 导入头文件 https://stackoverflow.com/a/29951314/3877767

我应该如何将 swift 代码与 objc 代码一起使用?如果您不能使用@objc 标记的 swift 类作为属性和 objc 头文件,我不会称 swift 和 objc 可互操作

所以在我的 App-Bridging-Header.h

里面
#import "ObjcClass.h"

在我的 ObjcClass.h

里面
 #import "ProjectName-Swift.h"

这给出了错误 ProjectName-Swift.h 找不到文件

删除 #import ProjectName-Swift.h#import ObjcClass.h 可以解决问题,但我无法使用 Swift/OBJC分别代码

最佳答案

您不导入头文件。您将它作为所谓的“桥接 header ”提供给编译器,告诉编译器在两种语言环境之间共享什么。

您需要将头文件放在 Objective-C Bridging Header 下,如下所示:

Xcode

关于ios - #import ProjectName-Swift.h 到头文件中不能将 swift 用作 .h 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35305161/

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