由于我的应用程序中某些 NSTextView 附件的语义,我想知道它们何时从我的文本存储中插入或删除。
我的 NSTextView 子类实现了 shouldChangeTextInRange:replacementString: 方法,它可以让我轻松查看附件何时将被替换(我可以搜索指定范围内的文本存储)。
因为替换字符串只是一个 NSString 而不是 NSAttributedString,所以我无法从这个方法中看到是否正在插入附件。文档甚至说如果正在编辑“仅属性”,则该字符串可能为零。
所以问题是,插入附件时最好的覆盖点是什么?或者也许同样有用:在修改属性时查看的最佳覆盖点是什么?
更新:我在上面说过我无法知道是否正在插入附件。有人向我指出,我可以说涉及到“一个”附件,因为该字符串将包含神奇的 NSAttachmentCharacter。但在编辑完成之前,我不会有关于附件的具体信息。