gpt4 book ai didi

objective-c - 类型在 Swift Objective-C header 中被注释掉了吗?

转载 作者:行者123 更新时间:2023-11-28 07:17:45 24 4
gpt4 key购买 nike

我在 Objective-C 中使用 Swift 类,但在自动生成的 <productname>-Swift.h 中header 一些类型被注释掉了:

@property (nonatomic, copy) /* [String : [ProgressCallback]] */ progressListeners;
@property (nonatomic, copy) /* [String : [CompleteCallback]] */ completeListeners;
@property (nonatomic, copy) /* [String : [ErrorCallback]] */ errorListeners;

我知道这些类型化的数组字典无法在 Objective-C 中保留,但为什么不注释掉整个属性或将其称为 NSDictionary?实际上,它会导致语法错误。我在 Objective-C 中不需要这些属性,我能做些什么来让它生成有效的头文件吗?

最佳答案

我通过将 Swift 成员设为私有(private)来解决这个问题。看起来私有(private)成员被排除在 Swift header 之外。

因此,具体来说,在这种情况下,您可以在 Swift 中这样定义您的成员:

@objc class MyClass {
private var progressListeners : [String : [ProgressCallBack]] = [:]
private var completeListeners : [String : [CompleteCallBack]] = [:]
private var errorListeners : [String : [ErrorCallBack]] = [:]
}

关于objective-c - 类型在 Swift Objective-C header 中被注释掉了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24747416/

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