我可以在 Swift UI 结构中拥有的状态变量的最大数量是多少?
struct Example: View {
@State var first : Bool = true
@State var second: Double = 94.4
@State var third: CGFloat = 45.45
.
.
.
How many maximum ?
var body: some View {
Text("Hello ")
}
}
此外,拥有大量状态变量是否真的会降低应用程序的速度?我需要清楚地了解这件事的可扩展性,因为我是声明式编程的新手 :P
最佳答案
只是为了让您开始回答,
- 很难相信会有任何性能问题。 “声明式编程”实际上并不存在。它只是一个编译器/运行时/任何做一些检查的东西。与管道中的其他结构没有真正实质性的范式差异。
如果,令人难以置信,你正在做真正的性能编程,也许是科学的或游戏之类的,你在一百万年内永远不会参与这样的事情,所以它没有相关性。
此外,与手机上的 UI 相关的任何东西都使用了惊人的处理能力,这毫无值(value)。呈现当时恰好出现在屏幕上的任何一个文本字符!是样条曲线抖动、blitting 等惊人的舞蹈。诸如“checking done by运行时系统”实际上是无关紧要的,除非在非常不寻常的情况下。
总结:不要考虑这种环境下的性能。
- 你能有多少个?如果你粘贴几千,它工作正常。很难相信有任何限制。
总结:您可能会想到像“30”这样的限制。无论如何没有这样的限制。
(可能有一些技术上的、神秘的限制——比如 6400 万——但这与你正在做的事情完全无关!)
管理总结:放松和享受,这些都不是问题。
有关特定案例的更多信息
I am trying to animate, i am using withAnimation to display percentage progress in a ring
对于所描述的状态变量的数量(例如,少于 100,000 - 您使用的是大约“20”),检查的额外开销是完全无关紧要的。它太低了,您无法测量。
待定,这可能不是最优雅的方式,但是,关于提出的特定性能问题,这绝对是非问题。享受吧!
关于swift - 我在 Swift UI 结构中可以拥有的状态变量的最大数量是多少,性能会随着变量的增加而降低吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60579565/