-
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Because we rely on the "enclosing self" subscript to hook into a view controller's viewDidLoad method, we can't use the more obvious syntax:
@ViewModel var counter = Counter()This is a wrinkle that it would be nice to smooth out, but it would involve complicating the implementation. A possible approach:
- Swizzle
-[UIViewController viewDidLoad]globally at load time to post our view did load notification. - Eagerly observe all
viewDidLoadnotifications and use reflection to find@ViewModelproperties. - If any are found, start observing those objects and trigger
updateView().
One downside of swizzling at the UIViewController level is that the viewDidLoad notification will often get posted before a subclass's viewDidLoad implementation has returned. This could result in some tricky issues with initialisation order that aren't a problem when we can guarantee that the most-derived subclass is being swizzled.
Metadata
Metadata
Assignees
Labels
No labels