1

Objective-C クラスの Swift サブクラスでオーバーライドすると、次のようなメッセージが表示されます。

プロパティ タイプ 'BOOL' (別名 'bool') は、'ChildClass' から継承されたタイプ 'Boolean' (別名 'unsigned char') と互換性がありません

他のブール型を使用しようとしましたが、うまくいきません。

Swift で Objc BOOL を適切にオーバーライドする方法

Swift コード (サブクラス):

override var myVar: Bool {
    get {
        return something ? true : myVar
    }
    set {
        myVar = newValue
    }
}

オブジェクトの親宣言:

@property(atomic) Boolean isLoading;

警告が表示される Swift ブリッジング ヘッダー:

SWIFT_CLASS("_TtC6Module30ChildClass")
@interface ChildClass : ParentClass
@property (nonatomic) BOOL myVar; //<----- Here 
@end
4

1 に答える 1