Textfield作为平均函数的输入

0 objective-c func ios swift

我最近想编写一个平均值计算器.我的计划是建立一个UITextField你可以输入逗号分隔的数字......按下"计算"按钮,应用程序应该计算上面的数字平均值,并通过将labeltext设置为平均值来给出它们.所以我写了我的平均函数并收到了这条错误信息:

无法将"UITextField"类型的值转换为预期的元素类型"Double".

这是我的代码:

@IBOutlet var Input: UITextField!
@IBOutlet var Output: UILabel!
@IBAction func Calculate(sender: AnyObject) {

    var grades:[Double] = [Input]
    func average(nums: [Double]) -> Double {

        var total = 0.0
        for grade in nums{

            total += Double(grade)
        }

        let gradesTotal = Double(nums.count)
        let average = total/gradesTotal
        return average
    }

    let Average = average(grades)

    Output.text = "Average: \(Average)"
}
Run Code Online (Sandbox Code Playgroud)

你能用我的想法帮助我吗?有没有更好的方式来获得输入?

Lu_*_*Lu_ 6

如果你这样做,你需要分开数字来获得该数组: 在此输入图像描述

你可以将"双打"数组传递给你的平均功能

代码到copypaste :)

var str = "1,2,3,4,5,6"

let stringsWithNumbers = str.componentsSeparatedByString(",")

let doubles = stringsWithNumbers.map { Double($0)! }
Run Code Online (Sandbox Code Playgroud)