2016-06-22 75 views
0

在我的一個項目中,我想使用Objective C類中的Swift類。我創建了XXX-swift.h文件和一個橋接頭文件。大多數swift文件工作正常,但是我發現了一個APiResult類的問題。在Objc項目中使用Swift類

@objc class ApiResult:NSObject { 
var success:Bool? 
var message:String? 
} 

和XXX-swift.h文件

SWIFT_CLASS("_TtC16RemoteController9ApiResult") 
@interface ApiResult : NSObject 
@property (nonatomic, copy) NSString * _Nullable message; 
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; 
@end 

那裏success屬性缺失。重建&乾淨構建不起作用。

爲什麼會發生這種情況

回答

3

Objective-C不支持可選項。從Swift到Objective-C的橋接允許類類型的可選項,因爲它們只是在ObjC端翻譯爲nil。但是,Bool是一種原始類型,在Objective-C中沒有這樣的東西,例如nil布爾值。

+0

謝謝,你完全處理我的問題。 – Castiel