Swift3に更新されてからでしょうか?selector
の仕様でよく分からないことがあります。
swift
1class SelectorTestViewController: UIViewController { 2 var timer: Timer? 3 4 override func viewWillAppear(_ animated: Bool) { 5 timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(SelectorTestViewController.count), userInfo: nil, repeats: true) 6 } 7 8 // internalだと@objcは必要なかった 9 @objc fileprivate func count() { 10 処理 11 } 12}
上記の様な実装をした際に幾つか疑問が生じました。
-selector
で指定した関数のアクセスレベルがinternal
だと@objc
が要らず、fileprivate
以下だと必要になるのはどういう原理なのか
-そもそもなんで@objc
が必要なのか
この辺りの動作を(直接又はURLへの誘導等で)ご教授頂けると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/10 02:34