Swift类:致命错误:对类

时间:2017-11-15 20:41:59

标签: objective-c swift

我为触觉创建了一个小便利类,我尝试在我的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()
    }

}

我在Haptics类声明中遇到了崩溃:

  

致命错误:对“MyProject.Haptics”类使用未实现的初始化程序'init()'

不太清楚我在这里做错了什么

1 个答案:

答案 0 :(得分:2)

[Haptics new]

的缩写
[[Haptics alloc] init]

因此调用没有参数的init(),但它不存在。

self.haptics = [[Haptics alloc] initWithStyle:UIImpactFeedbackStyleLight];