commande - tableau swift




Erreur 3 de swift: Les étiquettes d'argument '(_:)' ne correspondent à aucune surcharge disponible (3)

Swift 3.0.1

public func currencyString(_ decimals: Int) -> String {
    let numberFormatter = NumberFormatter()
    numberFormatter.numberStyle = .currency
    numberFormatter.formatterBehavior = .default
    let priceString = numberFormatter.string(from: NSNumber(value:product.introPrice))
    return priceString!
}

Différence entre le syntex

// Old code
formatter.string(from: NSNumber(product.introPrice))!

// swift 3.0.1
formatter.string(from: NSNumber(value:product.introPrice)

Juste converti un projet à Swift 3 et ne peux pas comprendre l'erreur suivante.

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

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

la ligne de retour affiche une erreur "Argument labels '(_ :)" ne correspond à aucune surcharge disponible "

Toute idée de ce qui doit changer pour résoudre ce problème


Et ça?

override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "backButton")
        self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backButton")
        self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", barButtonSystemItem: UIBarButtonItemStyle.Plain, target: nil, action: nil)
}

Vous pouvez le faire de cette façon:

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

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