由于我的应用程序中某些NSTextView附件的语义,我想知道它们何时插入或从我的文本存储中删除。如何知道附件属性何时添加到我的NSTextView?
我的NSTextView的子类实现了shouldChangeTextInRange:replacementString:方法,它允许我很容易地看到何时将要替换附件(我可以在指定范围内搜索文本存储)。
由于替换字符串只是一个NSString而不是一个NSAttributedString,我无法从这个方法看到是否正在插入附件。文档甚至可以说,如果正在编辑“仅属性”,字符串可能为零。
所以问题是,附件插入时看到的最佳覆盖点是什么?或者也许是有用的:当属性被修改时,什么是最好的覆盖点?
更新:我上面说过,我无法知道是否正在插入附件。它指出,我可以告诉“一个”附件涉及,因为该字符串将包含神奇的NSAttachmentCharacter。但是在编辑完成之前,我将不会获得有关附件的特定信息。
谢谢Brian。这并不像我所希望的那么理想,但它看起来似乎会有所斩获。遗憾的是,它们不包含shouldChange ...方法中的属性。 – danielpunkass
据我所知,'-textStorageWillProcessEditing:'允许对文本进行更多的更改,而不是'-textStorageDidProcessEditing:'。您可能想使用它。 –