我为触觉创建了一个小的便利类,我尝试在我的 Objc 代码中引用该类:
self.haptics = [[Haptics new] initWithStyle:UIImpactFeedbackStyleLight];
@objc final class Haptics: NSObject {
private var feedbackGenerator: UIImpactFeedbackGenerator? = nil
init?(style: UIImpactFeedbackStyle) {
guard UserFeedback.soundsAndVibrationsEnabled() else { return nil }
self.feedbackGenerator = UIImpactFeedbackGenerator(style: style)
}
func prepare() {
feedbackGenerator?.prepare()
}
func hit() {
feedbackGenerator?.impactOccurred()
}
}
我在触觉类声明上崩溃:
致命错误:对类"MyProject.Haptics"使用未实现的初始值设定项"init((">
不太确定我在这里做错了什么
[Haptics new]
是 的简称
[[Haptics alloc] init]
因此,没有参数的 init(( 被调用,但它不存在。
做
self.haptics = [[Haptics alloc] initWithStyle:UIImpactFeedbackStyleLight];