2
我有一个分开的NSTextView,我在一个单独的线程中操作(使用performSelectorOnMainThread:withObject:waitUntilDone :)使用选择器replaceCharactersInRange:withString:,setSelectedRange:和insertText :.我正在经历文本闪烁,并且由于NSTextView更新了每个操作的显示,所以性能很差。控制NSTextView更新来处理闪烁和提高速度
有关如何控制何时更新显示的建议,所以我只能在实际需要时更新它?我尝试使用各种组合setNeedsDisplay:NO(来自主线程和后台线程,在更新之前和之后),这似乎被忽略。
在此先感谢任何能提供一些见解的人。
是的。 Cocoa文本系统经过高度优化,如果按照应用的方式使用,您肯定会获得良好的性能。在这种情况下,修改底层'NSTextStorage'对象,它只是'NSAttributedString'的子类,而不是修改视图,这是一种大锤方法。 – 2010-04-12 02:10:56
谢谢!使用NSTextStorage对象以及我修改文本的方式的一些优化的组合完成了这个诀窍。 – stdout 2010-04-14 12:33:40