参数标签'(_:)'不匹配任何可用的重载

时间:2016-12-11 22:20:13

标签: ios swift

在此更新后卡住了。

获取"参数标签'(_:)'不匹配任何可用的重载"

关于此代码:

@IBAction func calculateButton(sender: UIBarButtonItem) {


        let w = Float(panelWidthTextField!.text!)
        let sw = Float(panelsWideTextField!.text!)
        let pi = Float(panelPitchTextField!.text!)
        let sizew = sizeWidthModel(pw:w!,psw:(sw)!,ptc:pi!)

        let formatter = NumberFormatter()
        **// Error is on the line under.**
        let swt = formatter.stringFromNumber(NSNumber(sizew.width()))!

SizeWidthModel:

import Foundation

class sizeWidthModel {
var pw:Float
var psw:Float
var ptc:Float

init (pw:Float,psw:Float,ptc:Float){
    self.pw=pw
    self.psw=psw
    self.ptc=ptc
}

func width()->Float {
    return pw*psw/ptc
}

func wswidth()->Float {
    return pw*psw
}
}

感谢所有帮助

2 个答案:

答案 0 :(得分:1)

好的,首先关闭类必须始终以大写字母开头,这就是你认识到它们是类型的方式。

此行let swt = formatter.stringFromNumber(NSNumber(sizew.width()))!正在Float将其转换为NSNumber,然后通过格式化程序,最终为String

为什么不使用字符串插值?

let swt = "\(sizew.width())"

答案 1 :(得分:1)

我猜你正在使用swift3.0

Swift3.0需要在没有'_'写入修改参数的情况下清除参数名称

所以使用:

let swt = formatter.string(from: NSNumber(value:sizew.width()))!