在Swift 4.2中并没有触发观察

时间:2018-09-06 18:50:42

标签: ios swift

任何想法都说明为什么Swift不够聪明,无法推断传递给observeWrapper函数的参数。

代码:

b = 8-a

QuestionStrategy协议:

let implementation = QuestionJSONStrategy(name: questionGroup.course.rawValue)


    _ = observeWrapper(implementation)

    showQuestion()
}

func observeWrapper<T: NSObject & QuestionStrategy>(_ object: T) -> NSKeyValueObservation {
    return object.observe(\.questionIndex, options: .new) { _, change in
        guard let newValue = change.newValue else { return }
        print(newValue)
    }
}

QuestionJSONStrategy类:

@objc protocol QuestionStrategy :AnyObject {

    var questions :[Question] { get set}
    var questionIndex :Int { get set }

    init(name :String)

    func nextQuestion() -> Question
}

0 个答案:

没有答案