Когда я должен использовать anyObject вместо UIButton в Swift?

Когда я должен использовать anyObject вместо UIButton в Swift? Я делаю IBAction для своей кнопки, которая будет использоваться для выполнения большего, чем задача одной из задач, - это переключиться на следующее представление.


person Wameedh Mohammed Ali    schedule 24.01.2016    source источник
comment
См. эти вопросы и ответы   -  person Marc Khadpe    schedule 24.01.2016


Ответы (2)


В конце концов, это действительно не имеет значения.

Вы можете использовать параметр (sender: AnyObject) или использовать (sender: UIButton).

Однако могут быть случаи, когда вам может потребоваться преобразовать AnyObject в UIButton, если вам нужен доступ к свойствам, предоставляемым UIButton.

Например, предположим, что у вас есть кнопка, и вы хотите, чтобы она исчезала после нажатия на нее.

func doSomething(sender: AnyObject) {
    let button: UIButton = sender as! UIButton
    button.hidden = true
}
person jasonnoahchoi    schedule 24.01.2016

Цель использования абстрактного типа AnyObject для IBAction может быть выгодной в ситуации, когда у вас есть несколько объектов пользовательского интерфейса, которые должны запускать одно и то же действие. Примером этого может быть, если вы хотите, чтобы кнопка и распознаватель жестов разделяли функциональность общего действия. Даже при совместном действии можно было бы иметь разные пути выполнения для двух объектов.

person SwiftMatt    schedule 24.01.2016