【发布时间】:2014-03-31 15:49:50
【问题描述】:
在我的 Objective-C Cocoa 应用程序中,我有一个名为 Group 的模型,它具有多个属性(如名称、描述、创建日期等),它的每个属性都有符合 KVO 的验证方法。
有一个NSTableView 绑定到NSArrayController 并显示用户可以修改的组列表。
现在,如果我选中“组名”列的值绑定中的“立即验证”复选框,验证将按预期进行,并且如果用户输入无效的组名,会显示一个警告框。
我想要做的是抑制警报框并用红色标记相应的表格行。
是否有可能以某种方式改变 Cocoa 通知用户验证错误的方式?
【问题讨论】:
-
我忘了说,NSTableView 显示在文档模式工作表中,因此验证错误会在应用程序模式警报中报告,而不是在工作表中(无论是否“始终呈现应用程序模式警报”复选框是否选中),这就是为什么我要更改它,因为这会阻止整个应用程序,而不仅仅是当前活动的文档窗口。
标签: objective-c macos cocoa validation key-value-observing