I'm binding a value transformer like this:
optionsDict = [NSBindingOption.valueTransformer:decToHexTransformer(), NSBindingOption.valueTransformerName:NSValueTransformerName.decToHexTransformerName]
plcAddrLabel.bind(.value, to: self, withKeyPath: "plcRegisterAddress" , options: optionsDict)
To remove the transformer I have tried this:
plcAddrLabel.unbind(.value)
plcAddrLabel.bind(.value, to: self, withKeyPath: "plcRegisterAddress" , options: nil)
but the transformer is still present after the bind operation, it appears unbind doesn't remove it.
and I tried this:
optionsDict = [NSBindingOption.valueTransformer: "<null>", NSBindingOption.valueTransformerName: "<null>"]
plcAddrLabel.bind(.value, to: self, withKeyPath: "plcRegisterAddress" , options: optionsDict)
which immediately triggers the error -[NSTaggedPointerString transformedValue:]: unrecognized selector sent to instance
upon execution of the bind function.
same error is caused with this code:
optionsDict = [NSBindingOption.valueTransformer: NSBindingOption.nullPlaceholder, NSBindingOption.valueTransformerName: NSBindingOption.nullPlaceholder]
Is there a way to programatically remove a transformer from a binding?