我有以下Objective-C方法:
-(void)setPaneState:(MHPaneState)state withInitialVelocity:(CGPoint)velocity{
self.paneState = state;
[self animatePaneWithInitialVelocity:velocity];
}
目前,在同一个应用中的Swift代码中,我正在调用此方法:
setPaneState(.closed, withInitialVelocity: .zero)
我希望第二个参数(velocity
)的默认值为CGPointZero
。我知道Objective-C不支持语言级别的默认值,但是Swift会这样做,所以我想在Swift中调用这个方法,如下所示:
setPaneState(.closed)
如何定义一个仅采用MHPaneState
参数的新方法?
答案 0 :(得分:0)
你能在Objective-C类型上写一个Swift扩展名并给它一个不同的名字吗?
extension MyObjCThing {
func mySetPaneState(_ state: MHPaneState, withInitialVelocity velocity: CGPoint = .zero) {
setPaneState(state, withInitialVelocity: velocity)
}
}