由於我的應用程序中某些NSTextView附件的語義,我想知道它們何時插入或從我的文本存儲中刪除。如何知道附件屬性何時添加到我的NSTextView?
我的NSTextView的子類實現了shouldChangeTextInRange:replacementString:方法,它允許我很容易地看到何時將要替換附件(我可以在指定範圍內搜索文本存儲)。
由於替換字符串只是一個NSString而不是一個NSAttributedString,我無法從這個方法看到是否正在插入附件。文檔甚至可以說,如果正在編輯「僅屬性」,字符串可能爲零。
所以問題是,附件插入時看到的最佳覆蓋點是什麼?或者也許是有用的:當屬性被修改時,什麼是最好的覆蓋點?
更新:我上面說過,我無法知道是否正在插入附件。它指出,我可以告訴「一個」附件涉及,因爲該字符串將包含神奇的NSAttachmentCharacter。但是在編輯完成之前,我將不會獲得有關附件的特定信息。
謝謝Brian。這並不像我所希望的那麼理想,但它看起來似乎會有所斬獲。遺憾的是,它們不包含shouldChange ...方法中的屬性。 – danielpunkass
據我所知,'-textStorageWillProcessEditing:'允許對文本進行更多的更改,而不是'-textStorageDidProcessEditing:'。您可能想使用它。 –