質問: 関連付けをする時に、typeを変更することができますよね? その時に、通常時はAnyとなっていると思いますが、Buttonの場合UIButtonを選択できると思います。 そこで質問なのですが、まずtypeを変更することにどのような意味があるのですか? また、そのtypeのAnyとUI〇〇のそれぞれの意味はどのようなものなのか? そもそも、senderとは何か? 初心者なので、わかりやすい回答をお願いします!
回答: > > まずtypeを変更することにどのような意味があるのですか? > > > 引数で受け取る型を`Any型`で受けるか、`UIButto型`で受けるかの違いです。 `Any型`で受けた場合はその`IBOutlet`で結んだオブジェクトの型にキャストする必要が有ります。 ``` // typeをUIButtonにした場合 @IBAction func pushUIButton(_ sender: UIButton) { // UIButtonのオブジェクトとして使える print(sender.tag) } // typeをAnyにした場合 @IBAction func pushAnyButton(_ sender: Any) { if let sender = sender as? UIButton { // UIButtonのオブジェクトとして使える print(sender.tag) } } ``` > > typeのAnyとUI〇〇のそれぞれの意味 > > > これはそれぞれ`Any型`、`UI〇〇型`という事です、型名ですね。 > > senderとは何か? > > > これは変数名(内部引数名)ですね、この場合は`UIButton`の変数です。