Introduce unbind methods based binding identifiers #73
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an implementation of #70 (and thus also of #53). Feedback is very welcome, I had some spare time to code a solution. You probably have feedback on what is where, comments, tests and coding conventions. Feel free to update the PR or add comments so I can make some changes.
(Or even take this as inspiration/a starting point to start your own implementation.)
Most important changes:
bind
returns an opaqueTweakBindingIdentifier
as a reference to that bindingunbind
can be used to unregister a bound closureMultiTweakBinding
to keep logic forbindMultiple
simple and consistent withbind
bindMultiple
returnsMultiTweakBindingIdentifier
that can be used withunbindMultiple
Other small changes:
tweakBindings
are now based on hashableAnyTweak
instead of the "arbitrary"tweak.persistenceIdentifier
tweak
property fromTweakBinding
binding
private inTweakBinding
Usage: