情景:
FieldA
和FieldB
Var
FieldA
的值可以从FieldB
的值得出,反之亦然(想想C对F)A
转换为B
,也可以从B
转换为A
。FieldA
通过对象控制器绑定到Var
(模型键路径指向Var
)FieldB
也绑定到Var
(拖把设置为Var
),但也定义了值变换器。所以这很好用。如果我在FieldA
中输入内容,FieldB
会更新,如果我在FieldB
中输入内容,FieldA
会相应更新。
现在我想做一些现场验证工作。所以我:
validateVar
FieldA
到目前为止一切顺利。如果我在FieldA
输入垃圾,validateVar
会返回NO
,我会收到一条很好的错误消息。
$ 1M问题是,如何在FieldB
发生变更后对其进行验证?
我不能(真的)依赖于B
转换为A
这一事实,如果A
无效,我会收到一条消息。
我的想法是在反向值转换函数中进行验证并返回超出validateVar
范围的内容,但我认为这不是很好。
有没有办法做validateFieldB
?
PS。 validateVar
使用FieldB
的反向转换值调用FieldB
,因此有效地将FieldA
转换为FieldA
值,然后{{1}}调用验证函数。
PPS。 OS X Lion。 XCode 4.1。