Key-Value Observing

E427885

Key-Value Observing is an Objective-C and Swift mechanism that lets objects be notified and react when specific properties of other objects change.

All labels observed (1)

Label Occurrences
Key-Value Observing canonical 1

How this entity was disambiguated

Statements (48)

Predicate Object
instanceOf Objective-C feature
Swift feature
observer pattern implementation
alsoKnownAs KVO NERFINISHED
AppleDocumentationTopic Key-Value Observing Programming Guide NERFINISHED
basedOn Key-Value Coding NERFINISHED
canObserve Objective-C properties
Swift properties exposed to Objective-C
changeType NSKeyValueChange.insertion
NSKeyValueChange.removal
NSKeyValueChange.replacement
NSKeyValueChange.setting
collectionProxyClass NSKeyValueArray NERFINISHED
NSKeyValueOrderedSet NERFINISHED
NSKeyValueSet NERFINISHED
commonIssue crashes from dangling observers
over-observation of frequently changing properties
coreConcept change dictionary
key path
observation context
observed object
observer object
definedInFramework Foundation framework NERFINISHED
improvedIn Swift block-based API
introducedIn Cocoa NERFINISHED
notificationMethod observeValueForKeyPath:ofObject:change:context:
platform iOS
macOS
tvOS NERFINISHED
watchOS NERFINISHED
primaryPurpose notify observers of value changes
observe property changes
relatedConcept Combine framework NERFINISHED
NotificationCenter NERFINISHED
delegation pattern
requires KVC-compliant properties
requiresCareWith observer lifetime management
supportsCollectionObserving to-many relationships
supportsFeature automatic notifications for property changes
manual notifications for property changes
SwiftAPI KeyPath-based observing
NSKeyValueObservation NERFINISHED
typicalUseCase data binding
model-view synchronization
reactive UI updates
usedInLanguage Objective-C NERFINISHED
Swift NERFINISHED
usesMechanism Objective-C runtime

How these facts were elicited

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

Combine integratesWith Key-Value Observing