say I have a function that has non-default parameter after default parameter like this:
func f(first:Int = 100, second:Int){}
how can I call it
You should have the default parameters at the end of the parameter list.
func f(second:Int, first:Int = 100){}
f(10)
Place parameters with default values at the end of a function’s parameter list. This ensures that all calls to the function use the same order for their non-default arguments, and makes it clear that the same function is being called in each case.
Documentation link