Swift-UITextField.text-错误:字符串不能转换为()

Swift-UITextField.text-错误:字符串不能转换为(),swift,Swift,我正在从UITextField对象获取值,并且很难将UITextField.text属性用作字符串。我试图将该值传递给清理函数并将返回值附加到变量,但我无法通过错误“String”不能转换为“()”,反之亦然。即使我注释掉字符串清理并简单地返回传递给函数的值,我也会遇到同样的问题。我做错了什么 import UIKit class ViewController: UIViewController { @IBOutlet weak var cityName: UITextField!

我正在从UITextField对象获取值,并且很难将UITextField.text属性用作字符串。我试图将该值传递给清理函数并将返回值附加到变量,但我无法通过错误“String”不能转换为“()”,反之亦然。即使我注释掉字符串清理并简单地返回传递给函数的值,我也会遇到同样的问题。我做错了什么

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var cityName: UITextField!

    var city: String? = clean(cityName.text) // '()' is not convertible to 'String'

    if city != nil { /* Do Stuff... */ }


    func clean(str: String)
    {
        var trimmedStr = str.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
        var cleanedStr = str.stringByReplacingOccurrencesOfString(" ", withString: "-")

        return cleanedStr // 'String' is not convertible to '()'
        // return str produces same error
    }

您没有为clean函数设置返回类型。它应该看起来像

func clean(str: String) -> String

美女,谢谢。我知道这很简单,我读的是Swift文档中的类型而不是函数,所以找不到我需要的。。将在几分钟内标记为已接受,请允许我:)