3

次の Objective-C クラスについて考えてみましょう。

@interface TestAPI : NSObject

-(nullable id)aNullableMethod;

-(nullable id)aNullableMethodWithError:(inout NSError **)error;

@end

私はTestAPI抽象基本クラスとして使用しており、Swift でそれを継承したいと考えています。

Swift はこのコードを次のように橋渡しします (つまり、対応するメニュー -> Swift 4.2 インターフェイス):

open class TestAPI : NSObject {

    open func aNullableMethod() -> Any?

    open func aNullableMethodWithError() throws -> Any
}

問題は、有効な値としてaNullableMethodWithError()返される可能性があることです。nil

Swift がaNullableMethodWithError()返さAny?れずに返されるようにするにはどうすればよいAnyですか?

それとも、Objective-C メソッド シグネチャを記述するより良い方法はありますか?

4

1 に答える 1