具体的には、セレクタの有無にかかわらずタスクを補完することができる場合、一方向を優先する理由がありますか?セレクタなしスウィフトでセレクタを使用する理由はありますか?
let timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(timerAction()), userInfo: nil, repeats: true)
dynamic func timerAction() {
print("foo")
}
B):
A)を使用してセレクター:
は、例えば、NSTimerは、2つの方法で間隔でメソッドを実行することができ
let timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { _ in
self.timerAction()
}
func timerAction() {
print("foo")
}
両方のバージョンを完全に機能的なものなので、一方を他方よりも優先させる理由は(客観的に)あるのでしょうか?
ブロックバージョンは、お客様のケースでのみiOS10 +メソッドです。 iOS9をターゲットにしている場合は、使用できません。 – Larme
@Larme興味深い。どちらもmacOS 10.12で動作しますが、以前は何も話すことができません。 –
@BrandonBradleyドキュメントを見るだけです。 'Timer.scheduledTimer'のブロック版はmacOS 10.12とiOS 10.0で追加されました。 – rmaddy