Так что я пытаюсь вызвать функцию «submitBoilerPlate» в Swift:Swift функция - передать дополнительный объект
var url:String = "https://eamorr.com/ajax/getLatestContent.php"
var params = [
"hello":"world"
]
submitBoilerPlate(url, _params:params, _button:nil)
А вот соответствующая функция:
func submitBoilerPlate(_url:String, _params:[String: String!], _button:UIButton?){
var oldTitle = _button?.titleLabel?.text
_button?.setTitle("Please wait...", forState: UIControlState.Normal)
_button?.enabled = false
//etc.
...
}
Все работает, как ожидалось, когда Я посылаю настоящий UIButton, который объявлен на моем xib.
Однако, я хочу, чтобы иметь возможность отправить кнопку «nil» (этот конкретный xib не имеет кнопки).
Возможно ли это? Или мне нужно создать новую функцию? Я пытаюсь сохранить повторения кода до минимума ...
я получаю следующее сообщение об ошибке во время выполнения, когда код получает submitBoilerPlate (...):
fatal error: can't unsafeBitCast between types of different sizes
Это работает! Огромное спасибо. Это только ошибка времени выполнения, когда была отмечена нулевая часть «_button: nil». – Eamorr
@ Eamorr Он решил вашу проблему. Он заслуживает принятого ответа –
Хотя что произойдет, если у меня есть «привет»: world.text', где «world» - это UITextField? world.text возвращает строку! (т. е. не строка) – Eamorr