如何知道 super class 指定的初始值设定项?
How to know super class designated initializers?
我需要 subclassing,编译器警告说 "Must call a designated initializer of the superclass",但我找不到它们,我应该在哪里寻找指定的初始化程序?,我想知道在哪里寻找独立于 class 的它们以供将来使用 classing.
代码:
import Foundation
import UIKit
class JBSOSLongGestureRecognizer: UILongPressGestureRecognizer {
init() {
super.init()
self.allowableMovement = 40
self.minimumPressDuration = 5
self.cancelsTouchesInView = false
self.numberOfTouchesRequired = 1
}
}
UILongPressGestureRecognizer
继承自 UIGestureRecognizer
。 UIGestureRecognizer
的指定初始化程序是 public init(target: AnyObject?, action: Selector)
.
覆盖 init(target: AnyObject?, action: Selector)
而不是 init()
。
我通过跳转到 UILongPressGestureRecognizer
的定义找到了指定的初始化器。我在那里没有看到初始化程序,但我确实看到它是 UIGestureRecognizer
的子类。进入 UIGestureRecognizer
声明揭示了 public 初始值设定项。
Apple API 文档中也提供了此信息。文档将在指定初始化程序旁边显示 Designated Initializer。
UILongPressGestureRecognizer
是 UIGestureRecognizer
的具体子类。因此,虽然您可以使用 @JAL 方法对其进行子类化,但前提是它不打算被子类化。
在您的代码中,您似乎没有向 JBSOSLongGestureRecognizer
添加任何功能,为什么不直接使用 UILongPressGestureRecognizer
并使用您想要的值配置它呢?
我需要 subclassing,编译器警告说 "Must call a designated initializer of the superclass",但我找不到它们,我应该在哪里寻找指定的初始化程序?,我想知道在哪里寻找独立于 class 的它们以供将来使用 classing.
代码:
import Foundation
import UIKit
class JBSOSLongGestureRecognizer: UILongPressGestureRecognizer {
init() {
super.init()
self.allowableMovement = 40
self.minimumPressDuration = 5
self.cancelsTouchesInView = false
self.numberOfTouchesRequired = 1
}
}
UILongPressGestureRecognizer
继承自 UIGestureRecognizer
。 UIGestureRecognizer
的指定初始化程序是 public init(target: AnyObject?, action: Selector)
.
覆盖 init(target: AnyObject?, action: Selector)
而不是 init()
。
我通过跳转到 UILongPressGestureRecognizer
的定义找到了指定的初始化器。我在那里没有看到初始化程序,但我确实看到它是 UIGestureRecognizer
的子类。进入 UIGestureRecognizer
声明揭示了 public 初始值设定项。
Apple API 文档中也提供了此信息。文档将在指定初始化程序旁边显示 Designated Initializer。
UILongPressGestureRecognizer
是 UIGestureRecognizer
的具体子类。因此,虽然您可以使用 @JAL 方法对其进行子类化,但前提是它不打算被子类化。
在您的代码中,您似乎没有向 JBSOSLongGestureRecognizer
添加任何功能,为什么不直接使用 UILongPressGestureRecognizer
并使用您想要的值配置它呢?