在Swift Objective-C标题中注释掉的类型?

时间:2014-07-14 23:01:19

标签: objective-c swift

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

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

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

1 个答案:

答案 0 :(得分:1)

我把Swift成员私有化了。看起来私有成员被排除在Swift标题之外。

所以,具体来说,在这种情况下,你可以在Swift中定义你的成员:

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