【发布时间】:2016-02-10 08:16:21
【问题描述】:
在我的 Objective C 代码中,我有以下属性:
@property (nonatomic, readonly) NSString * _Nullable myNullableString;
我想在我的 Swift 代码中使用它,但在这种情况下,Xcode / Sourcekit 认为 myNullableString 不是 String? 类型,而是 String! 类型。
由于这个事实,保护展开属性是不正确的,但强制使用也是不正确的,如果我想构建它,将导致 Xcode / SourceKit 崩溃或段错误。
知道怎么解决吗?
【问题讨论】:
-
无法复制,_Nullable 按我的预期工作。你能提供一个最小的独立示例吗?
-
Command-Shift K,然后再次构建可能会有所帮助。
-
您好,感谢您的尝试。现在不行。来源来自内部框架。你得到一个字符串吗?如果你使用 _Nullable 属性?
-
@gnasher729 我清理了项目、构建文件夹和偏差数据文件夹。但我还是有这种怪癖。
-
@property (nonatomic, readonly) NSString * _Nullable myNullableString;被导入为public var myNullableString: String? { get }。 – 在一个带有小样本类的新项目中尝试。然后看看你的实际项目是否有差异。
标签: objective-c xcode swift bridging-header