objective-c - 如何加快 UITextView 的更新速度?

标签 objective-c ios performance uikit uitextview

我有一个计算器应用程序,带有由 UITextView 制成的“会计磁带”。一旦磁带上有大约 50-100 行, TextView 的更新就会变得非常慢 - 设置新内容(50-100 行文本)很容易需要 100 毫秒或更长时间。问题是我无法将此延迟移至后台,因为 UIKit 坚持在主线程上调用。

我能做什么?我想到的唯一一件事是使用更适合该任务的自定义 UIView 子类重写磁带,但我不太愿意这样做,因为它需要大量工作,而且除了这个问题之外,UITextView 工作正常。

最佳答案

我很惊讶你只处理 50 行就遇到问题,所以坦白说我想知道这里是否还有其他问题。我将通过 Instruments 中的“时间分析器”运行代码,并确认问题确实是 UITextView 的更新,而不是其他问题。在放弃 UITextView 之前,可能需要进行一些研究,

但是让我们假设您决定需要重新开始(我认为这不太可能)并且不使用 UITextView。我可能建议利用现有的控制,例如单元格之间没有分隔符的 UITableView ,或者,如果最坏的话,是一个 UIScrollView ,其中磁带上的每一行都是一个 UILabel 并且您可以这样做UITableView 风格的滚动出屏幕的标 checkout 队。一堆比从头开始要好一点的选项。

关于objective-c - 如何加快 UITextView 的更新速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606884/

相关文章:

iphone - 将图像文件上传到 Web 表单

ios - 设备的默认音量/声音

c# - 为什么 .net 语言的性能会有所不同?

ios - 如何攻击 Firebase 数据库规则?

ios - 在 Phonegap 中将网络照片保存到相机胶卷

c++ - 我如何优化此代码以使其不是 "freeze"我的计算机?

python - 将已排序的项目搜索到已排序的序列中

iphone - 在 Objective-C 中对 NSArray 进行排序的更好方法

ios - USB 连接的 iPhone 屏幕镜像

ios - 应用程序崩溃 : Mutating method sent to immutable object