2016-11-01 12 views
2

Swift 3では、戻り値が使用されなかったときに警告が表示されます。 @discardableResult宣言はその機能を抑制する。Swiftの@discardableResult宣言のObjCバージョンは何ですか

は、どのように私は関数の戻り値を無視__attribute__((warn_unused_result))

+2

これはデフォルト設定ではありませんか? –

+1

@BryanChen swiftにブリッジされていないとき3 – leavez

+0

'_ = self.iDontCareOfTheReturnValue()'、多分。 – holex

答えて

2

の反対は、スウィフトにObjCにして、デフォルトである、にObjCファイル、手段でこれを宣言しない場合に発生します< 3.

警告なしませんメソッドが返すものをキャプチャしません。しかし、迅速な3以降では戻り値を使用する必要があります。望ましくない場合は、メソッドに@discardable result属性を使用してください。

ObjCでは、警告を表示する場合は、warn_unused_result属性を使用できます。

-(int) mymethod : (int) a __attribute__((warn_unused_result)){ 

    return 2; 

} 

- (BOOL)doSomething { 

    return 2; 
} 



[self doSomething]; 
[self mymethod:2];//warning:ignoring return value of a function 
関連する問題