>假设我必须每分钟更新标签 1000 次。完全更改其字符串值。我最好每分钟拨打 1000 个setText:
电话吗?还是有更有效的方法?也许完全取消标签?
您基本上有两个选择 - 更新UILabel
的 text
属性或将NSString
直接绘制到UIView
上(首先擦除前一个值后)。您必须运行一些测试以查看哪个更有效。
您可以更新一些局部字段/变量并使用计时器,该计时器根据需要从变量中读取值并更新标签。您还可以使用一些限制策略。我不是iOS专家,所以我说出我的直觉对我说的话。
我在我的一个项目 https://github.com/dataxpress/UICountingLabel 中使用了这个 github 库,它基本上是 UILabel 的子类,并从某个初始值倒计时到某个最终值,您可以指定自定义持续时间,它非常高效和流畅。你可以看看他们的代码,这可能会有所帮助。