2015-03-17 2 views
1

Я беру значение из объекта UITextField и с трудом использую свойство UITextField.text как строку. Я пытаюсь передать значение функции sanitizing и приложить возвращаемое значение к переменной, но я не могу пройти мимо ошибки. «String» не конвертируется в '()' и наоборот. Даже если я прокомментирую строчную санитацию и просто вернулю значение, переданное функции, я получаю ту же проблему. Что я здесь делаю неправильно?Swift - UITextField.text - ошибка: строка не конвертируется в()

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 
    } 

ответ

2

Вы не установили тип возврата для своей чистой функции. Это должно выглядеть;

func clean(str: String) -> String 
+0

Красота, спасибо. Я знал, что это было что-то простое, я читал Swift docs для типов not Functions, поэтому не мог найти то, что мне было нужно. Отметьте, как принято за несколько минут, когда SO позволяет мне :) – patnz

Смежные вопросы