gpt4 book ai didi

cocoa - 基于 Cocoa 的文本编辑器的选项

转载 作者:行者123 更新时间:2023-12-03 17:00:19 24 4
gpt4 key购买 nike

我正在开发一个基于 cocoa 的文本编辑器。我应该基于 NSTextView 还是有更有效的选择?请记住,我计划支持选项卡,以便可以同时打开多个编辑器。

最佳答案

I am working on a cocoa-based text editor. Should I base it on NSTextView

是的。

or is there a more efficient option?

不,假设“效率”包括您自己的时间和精力与您想要支持的功能集的权衡——Cocoa 的文本系统为您做了很多事情,如果您自己推出。

一些例子:

  • 撤消支持
  • 高级编辑(emacs 键)
  • 支持输入管理器/输入法
  • 支持所有 Unicode
  • 鼠标选择
  • 键盘选择
  • 多项选择
  • 字体
  • 颜色
  • 图片
  • 声音
  • 查找
  • 查找和替换
  • 拼写检查
  • 语法检查
  • 文本替换
  • 无障碍

如果你自己开发,你需要花几个月的时间重新发明和调试一些(如果不是大部分)这些轮子。我称之为低效。

与此同时,您已有的文本系统几乎一直都很快。您需要带有长行的巨大文本(或者可能是大量嵌入的图像/声音)来使其陷入困境。

Keep in mind that I plan to support tabs so there can be many editors open at the same time.

除非用户要同时输入所有内容,否则我不认为这会导致性能问题。 0% CPU × N 或 N-1 次浏览 = 0% CPU。

如果文档既多又大,您可能遇到问题的地方就是内存使用。它们必须都达到极限,因为现在即使是普通的 Mac 也有 1 GiB 的 RAM,而且文本的重量并不大。

如果是这样的话,那么你只能在内存中保留最近使用的 N 个未修改的文本,否则只记住选择范围的数组。但 99% 的情况下,将文本换入换出要比将它们全部保留在内存中要昂贵得多。

关于cocoa - 基于 Cocoa 的文本编辑器的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2572503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com