我有一个绑定到主/详细 UI 的 ArrayController,它工作得很好。我现在正在尝试在模型级别实现验证。
Apple 文档表明以下内容应该可以验证单个属性:
-(BOOL)validateName:(id *)ioValue error:(NSError * __autoreleasing *)outError
因此,如果我有“ProjectName”的模型属性,则应自动触发以下内容:
-(BOOL)validateProjectName:(id *)ioValue error:(NSError * __autoreleasing *)outError
但不幸的是,它只是没有发生:(
然而,有趣的是,如果我使用下面的“catch all”方法,它确实有效:
-(BOOL)validateValue:(inout __autoreleasing id *)ioValue forKey:(NSString *)inKey error:(out NSError *__autoreleasing *)outError {
在该方法中,我当然可以编写代码来确定正在验证哪个属性,但我无法弄清楚为什么它完全忽略了访问器方法?
任何人都可以对此有所了解吗?