Mike U Mike U - 2 months ago 56
Swift Question

swift 3 error : Argument labels '(_:)' do not match any available overloads

Just converted a project to Swift 3 and cant figure out the following error.

public func currencyString(_ decimals: Int) -> String {

let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.maximumFractionDigits = decimals
return formatter.string(from: NSNumber(self))!
}


the return line is showing an error "Argument labels '(_:)' do not match any available overloads"

Any idea what needs to change to resolve this

Answer

You can do it this way:

public func currencyString(_ decimals: Int) -> String {

    let formatter = NumberFormatter()
    formatter.numberStyle = .currency
    formatter.maximumFractionDigits = decimals
    return formatter.string(from: NSNumber(value: decimals))!
}