【发布时间】:2011-12-23 16:28:13
【问题描述】:
我的应用程序允许用户将标签附加到某些模型对象(NSManagedObject 的子类)。 Tag 类也是 NSManagedObject 的子类。我决定使用NSTokenField 来显示标签,其中每个令牌都包含一个 Tag 实例作为表示的对象。这一切都很好,但我陷入了用户删除令牌的情况,因为我想检查关联的标签是否已经过时并且应该被删除。
我期待 NSTokenFieldDelegate 或 NSTokenFieldCellDelegate 中的一个方法,它可以让我拦截并检查令牌上的删除操作。
经过一番谷歌搜索后,我发现 this post 解决了这个话题。我在我的控制器(令牌字段的委托)中实现了建议的方法controlTextDidChange:。在检查作为参数传递的控件后,发现它是 NSTokenTextView 的一个实例,我找不到任何文档(可能是私有类)。
有没有人遇到过这个问题并找到了一个解决方案,可以在保持表示对象的底层模型的同时优雅地删除标记?
编辑
我也找到了this,这似乎表明出于某种原因,它的设计并不像我们其他人所期望的那样工作。
【问题讨论】:
标签: cocoa nstokenfield