How do I validate value of a reverse transform input field in Cocoa?
Scenario:
FieldA
and FieldB
Var
FieldA
can be derived from the value of FieldB
and vice versa (think C vs F) A
to B
and also reverse converse from B
to A
. FieldA
is bound to Var
via Object Controller (model key path is pointing to Var
) FieldB
is also bound to Var
(mop is set to Var
), but also has Value Transformer defined. So this works fine. If I type in something in FieldA
, FieldB
gets updated and if I type something in FieldB
, FieldA
gets updated accordingly.
Now I want to do some field validation work. So I:
validateVar
FieldA
So far so good. If I type in rubbish in FieldA
, validateVar
returns NO
and I get a nice error message.
$1M question is, how do I validate the FieldB
after it has changed?
I cannot (really) rely on the fact that B
converts to A
and if A
is invalid I get a message.
My thinking is to do the validation in the reverse value transform function and return something that falls out of the validateVar
range, but I think this isn't very nice.
Is there a way to do something like validateFieldB
?
PS. validateVar
gets called with reverse transformed value from FieldB
, so effectively the FieldB
is transformed to FieldA
value and then FieldA
calls the validation function.
PPS. OS X Lion. XCode 4.1.
链接地址: http://www.djcxy.com/p/85270.html上一篇: 初始化可可IB绑定