我正在研究基于可可的文本编辑器。我应该基于NSTextView还是有更高效的选择?请记住,我计划支持标签,以便可以同时打开许多编辑器。
答案 0 :(得分:2)
我正在研究基于可可的文本编辑器。我应该基于NSTextView
是
还是有更有效的选择?
不,假设“效率”包括你自己的时间和精力与你想要支持的功能集权衡 - Cocoa的文本系统为你做了很多,如果你把它扔掉了滚动你自己。
一些例子:
如果你自己动手,你可以花几个月重新发明并调试一些(如果不是全部的话)这些轮子。我称之为效率低下。
与此同时,你已经拥有的文本系统几乎一直都很快。你需要长行的大文本(或者很多嵌入的图像/声音)才能让它陷入困境。
请记住,我计划支持标签,以便可以同时打开许多编辑器。
除非用户要同时输入所有这些内容,否则我不会看到这会导致性能问题。 0%CPU×N或N-1视图= 0%CPU。
如果文档既有很多又有大,那么可能出现问题的地方就是内存使用情况。他们必须处于极端状态,因为即使是现在的普通Mac也只有1 GiB的内存,而且文字的重量也不大。
如果是这种情况,那么您只能将N个最近使用的未修改文本保留在内存中,否则只记住选择范围的数组。但99%的时间,将文本交换进出的费用远比将它们全部留在内存中要贵得多。
答案 1 :(得分:1)
如果您想免费获得大量优秀功能,NSTextView可能是最简单的方法。它不能做所有事情,但这是一个很棒的开始。