动画效果的有效性

4
for button in buttonGroup {
    UIView.animateWithDuration(1, animations: {
        button.alpha = 0
    })
}

VS

UIView.animateWithDuration(1, animations: {
        for button in buttonGroup {
            button.alpha = 0
        }
    })

我在buttonGroup中有超过40个按钮,可能还会更多,我想知道哪种方式更好?标准是资源消耗。

3个回答

1
你可以在Xcode的单元测试类中测试代码块的性能,并测量每个代码块的速度。创建一个单元测试框架,所需的方法将在模板中提供。
如果所有按钮都在同一个父视图中,请考虑将它们嵌入到自己的UIView中,而不是调整所有UIButtons的透明度。

刚接触IOS,这是一个时间预算项目。肯定会进行单元测试。感谢您提供的关于将组按钮放在单个视图中的建议,以前从未想过。 - outcast

0
显然是第二个。因为在第一个情况下,UIView.animateWithDuration会被调用多次(总共按钮组中的按钮数)。这不是高效的编程方式,而且动画会变得卡顿。但是在第二个情况下,UIView.animateWithDuration只会被调用一次,并且实现相同的结果。

0

你不必编写一些单元测试。只需查看xCode调试导航器(快捷键:cmd + 6),查看应用程序的CPU和内存,进行比较。或者也可以使用Instruments进行比较。个人更喜欢第二种方法。(同意@Md.Muzahidul Islam的说法)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接