NSTableView 和数据验证?

Posted

技术标签:

【中文标题】NSTableView 和数据验证?【英文标题】:NSTableView and data validation? 【发布时间】:2010-08-20 08:32:52 【问题描述】:

为了正确学习 Objective-C 和 Cocoa 框架,我已经开始构建一个 CoreData 应用程序,但是当在 NSTableView 中编辑项目时如何正确提供数据验证,我有点茫然。

我的模型有一个名为“Business”的实体,它具有两个字符串属性:名称和已签发的税号。第二个属性的长度必须正好为 10 个字符。该实体的对象通过绑定到业务实体和应用程序的 managedObjectContext 的 NSArrayController 在 NSTableView 中显示和编辑。

我想做的是: - 用户开始在表格视图的相应单元格 (NSTextFieldCell) 中编辑税号。 - 当按下 Enter 时,新值被验证,即检查新值的长度是否为 10 个字符。如果验证失败,则会发出警报,并且单元格会保持焦点。 - 按 Escape 恢复旧值,单元格失去焦点。

执行此验证的正确方法是什么?

【问题讨论】:

【参考方案1】:

请参阅核心数据编程指南的Managed Object Validation 章节。

【讨论】:

【参考方案2】:

如果您使用绑定,您可以检查绑定中的“立即验证”以获取单元格值。这将调用托管对象的验证方法。

【讨论】:

以上是关于NSTableView 和数据验证?的主要内容,如果未能解决你的问题,请参考以下文章

使用乘法 NSArrayControllers 和 NSTableView 绑定数据

NSTableView 加载数据,但无法重新加载

如何使用 NSTableViewDiffableDataSource 通过 NSTableView 加载数据

NSTableView 和 NSOutlineView 拖放

修改单元格后更新 NSTableView

遍历 NSTableview 或 NSArrayController 以获取数据