Swift 3 中的 nextResponder
nextResponder in Swift 3
在 Swift 2 这段代码工作正常
override func nextResponder() -> UIResponder? {
// it's called when user make any touch event
return super.nextResponder()
}
获取有关任何用户交互的通知基本上很有帮助。
在 Swift 3 现在它是一个变量而不是函数,我什至不能用 didSet 观察它。
那么如何在Swift3中使用上面的代码
您可以覆盖变量:
override var next: UIResponder? {
get {
// do something
return super.next
}
}
由于变量被定义为只读变量,实现didSet
没有意义。你不应该设置这个变量。相反,UIResponder
的不同子class 可以覆盖变量和 return 不同的值。基础classreturnsnil
.
注意:该变量在 Swift 3 中称为 next
,在 Objective-C 和更早的 Swift 版本中称为 nextResponder
。当您在 Swift 和 Objective-C 之间切换时,可以在 documentation 中看到右栏.
nextResponder
在Swift 3
中被next
代替。它的新声明是:
var next: UIResponder? { get }
在 Swift 2 这段代码工作正常
override func nextResponder() -> UIResponder? {
// it's called when user make any touch event
return super.nextResponder()
}
获取有关任何用户交互的通知基本上很有帮助。
在 Swift 3 现在它是一个变量而不是函数,我什至不能用 didSet 观察它。
那么如何在Swift3中使用上面的代码
您可以覆盖变量:
override var next: UIResponder? {
get {
// do something
return super.next
}
}
由于变量被定义为只读变量,实现didSet
没有意义。你不应该设置这个变量。相反,UIResponder
的不同子class 可以覆盖变量和 return 不同的值。基础classreturnsnil
.
注意:该变量在 Swift 3 中称为 next
,在 Objective-C 和更早的 Swift 版本中称为 nextResponder
。当您在 Swift 和 Objective-C 之间切换时,可以在 documentation 中看到右栏.
nextResponder
在Swift 3
中被next
代替。它的新声明是:
var next: UIResponder? { get }