我有一个由我自己组装的文本系统支持的 NSTextView,按照 Cocoa 文档中文本系统概述中的“手动组装文本系统”部分的内容。它成功地在屏幕上显示了 NSTextStorage 的内容。
但是当我输入它时,似乎什么也没有发生——屏幕上的文字没有改变。如果我选择文本,则选择的形状表明文本已更改。如果我将文本复制并粘贴到 TextEdit 中,我什至可以看到我的编辑。如果我输入足够多,我可以让它抛出异常:
NSRunStorage, _NSBlockNumberForIndex(): index (5897) beyond array bounds (5881)
天哪,这看起来像是我可以花大半天时间调试的东西。这里发生了什么?