2017-11-19 4 views
0

私は次のObjective-Cのメソッドがあります。スウィフトデフォルト値

-(void)setPaneState:(MHPaneState)state withInitialVelocity:(CGPoint)velocity{ 
    self.paneState = state; 
    [self animatePaneWithInitialVelocity:velocity]; 
} 

現在、同じアプリでスウィフトコードで、私はこのように、このメソッドを呼び出していますが

setPaneState(.closed, withInitialVelocity: .zero) 

第2パラメータ(velocity)のデフォルト値はCGPointZeroです。私は、Objective-Cの言語レベルでのデフォルト値をサポートしていないことを知っているが、スウィフトはありませんので、私はこのようスウィフトでは、このメソッドを呼び出すしたいと思います:

setPaneState(.closed) 

がどのように定義する。この短いを達成することができますパラメータ:MHPaneStateの1つだけを使用する新しいメソッド?

答えて

0

Objective-CタイプにSwift拡張機能を記述して別の名前を付けることはできますか?

extension MyObjCThing { 
    func mySetPaneState(_ state: MHPaneState, withInitialVelocity velocity: CGPoint = .zero) { 
     setPaneState(state, withInitialVelocity: velocity) 
    } 
}