Я здесь довольно новый и очень новый для Swift. У меня есть вопрос о наблюдателях в сфере недвижимости. Ниже приведен пример кода ниже. Я хочу, чтобы свойство Analysis.hasChanged обновлялось до true, если значение a.value было изменено. Есть ли способ, которым я могу это сделать?Swift: Как наблюдать за изменением свойства класса от другого класса
class Number {
var value: Double
init(numberValue: Double) {
self.value = NumberValue
}
}
class Analysis {
var a: Number
var hasChanged = false
init(inputNumber: Number) {
self.a = inputNumber
}
}
testNumber = Number(numberValue: 4)
testAnalysis = Analysis(inputNumber: testNumber)
print(testAnalysis.hasChanged) // will print "false"
testNumber.value = 10
print(testAnalysis.hasChanged) // will still print "false", but I want it to print "true"
В конце концов, я хочу, чтобы пользователь мог получать уведомления, если какие-либо из их анализа использовать номера, которые были изменены таким образом, чтобы они могли обновить результаты анализов, если они выбирают.
Благодарим вас за любую помощь, которую могут мне предложить.
-Logan
KVO работает только в том случае, если класс наследуется от NSObject. –
«Я хочу, чтобы свойство SumTwo.hasChanged обновлялось до true, если значение a.value было изменено». Но нет никакого SumTwo в любом месте вашего кода, так о чем вы говорите? – matt
Упс. Извини за это. Я был в процессе упрощения примера и забыл изменить имя класса в моем первом абзаце. Я исправил это. – Logan