如果我有一个函数调用返回true或false作为if
语句的条件,我是否必须担心Swift分配我的代码以提高效率?
例如,
if (resourceIsAvailable()) { //execute code }
如果检查资源的计算成本很高,Xcode会等待或尝试继续使用代码吗?
这值得使用完成处理程序吗?
如果资源检查必须进行数据库调用怎么办?
答案 0 :(得分:1)
好问题。
首先关闭...... 可以使用某个功能吗?绝对
第二......应该使用吗?
很多都取决于函数的实现。如果函数已知(写给它的人)要花很长时间才能完成,那么我希望那个人能够相应地处理它。
值得庆幸的是,很多iOS这样的东西都是从开发人员那里拿走的(大多数情况下)。 CoreData和Network请求通常带有完成处理程序。因此,使用它们的任何函数也需要是异步的并且具有完成处理程序。
这没有固定的规则。我最好的建议是......
可能发生的最糟糕的事情是你发现它很慢,然后换掉其他东西。