4

UIButton の insted anyObject を迅速に使用する必要があるのはいつですか? タスクのタスク以上のことを行うために使用されるボタンの IBAction を作成しています。次のビューに切り替えることです。

4

2 に答える 2

7

結局のところ、それは本当に問題ではありません。

のパラメータを使用するか、 を使用するかを選択(sender: AnyObject)できます(sender: UIButton)

ただし、によって提供されるプロパティにアクセスする必要がある場合はAnyObject、 としてキャストする必要がある場合があります。UIButtonUIButton

たとえば、ボタンがクリックされた後にボタンを非表示にしたいとします。

func doSomething(sender: AnyObject) {
    let button: UIButton = sender as! UIButton
    button.hidden = true
}
于 2016-01-24T06:26:06.660 に答える
3

IBAction に抽象型の AnyObject を使用する目的は、同じアクションをトリガーする必要がある複数の UI オブジェクトがある状況で有利になる場合があります。この例は、ボタンとジェスチャ レコグナイザーで共通のアクションの機能を共有する場合です。共有アクションであっても、2 つのオブジェクトの実行パスが異なる可能性があります。

于 2016-01-24T09:36:20.360 に答える