Ich dachte, hausgemachte @property Setter wurden wie folgt aussehen sollte:Müssen Sie willChangeValueForKey: und didChangeValueForKey:?
-(void) setFoo:(Foo *)newFoo {
// Safeguards
// ...
[self willChangeValueForKey:@"foo"];
// Switcheroo
// ...
[self didChangeValueForKey:@"foo"];
}
Aber ich sehe Leute eine Menge Code in Blog-Beiträge, die viel länger tun Cocoa habe als ich, wo es ist so:
-(void) setFoo(Foo *)newFoo {
// Safeguards
// ...
// Switcheroo
// ...
}
Also meine Frage ist, müssen wir die KVO-Benachrichtigungsmethoden aufrufen? Oder wird es magisch gemacht, wenn Sie das private iVar aktualisieren, wenn Sie die moderne Laufzeit verwenden?
Der KVO-Link ist unterbrochen (( – voromax
@voromax) Der Link wurde korrigiert – herzbube