Когда я должен использовать anyObject вместо UIButton в Swift? Я делаю IBAction для своей кнопки, которая будет использоваться для выполнения большего, чем задача одной из задач, - это переключиться на следующее представление.
Когда я должен использовать anyObject вместо UIButton в Swift?
Ответы (2)
В конце концов, это действительно не имеет значения.
Вы можете использовать параметр (sender: AnyObject)
или использовать (sender: UIButton)
.
Однако могут быть случаи, когда вам может потребоваться преобразовать AnyObject
в UIButton
, если вам нужен доступ к свойствам, предоставляемым UIButton
.
Например, предположим, что у вас есть кнопка, и вы хотите, чтобы она исчезала после нажатия на нее.
func doSomething(sender: AnyObject) {
let button: UIButton = sender as! UIButton
button.hidden = true
}
Цель использования абстрактного типа AnyObject для IBAction может быть выгодной в ситуации, когда у вас есть несколько объектов пользовательского интерфейса, которые должны запускать одно и то же действие. Примером этого может быть, если вы хотите, чтобы кнопка и распознаватель жестов разделяли функциональность общего действия. Даже при совместном действии можно было бы иметь разные пути выполнения для двух объектов.