
36
|
第
1
章
loadingOperations.append(loadOperation)
//
除非所有图片加载完成,
//
否则不会执行这个任务
loadingComplete.addDependency(loadOperation)
}
imageLoadingQueue.addOperations(loadingOperations, waitUntilFinished: false)
imageLoadingQueue.addOperation(loadingComplete)
讨论
当你创建一个
OperationQueue
时,你可以同时指定它的
qualityOfService
属性。
默认,任务队列的这个属性是
background
,也就是说,
OS
会优先执行其他高优先
级的任务。一般,对于加载资源这样的任务来说,这正是我们希望的,因为让应用
程序始终能够对用户输入保持响应是一件更重要的事情。
当用户正在忙于其他事情的时候,你可以根据剩余内存的多少使用这种技术。例如,
在用户进入游戏主菜单后,在用户点击“开始新游戏”之前,我们可以在后台加载
游戏要用到的一些资源。
1.18
在游戏中使用单元测试
问题
我们需要对游戏的每一部分进行单独的测试,以便确保这部分代码功能正常。
解决方案
通过单元测试,我们可以为游戏中的每个功能编写单独的测试代码。默认情况下,
所有新建项目都会自带一个空的单元测试集,在里面你可以加入一个个的测试函数。
对于已经存在的项目,你可以创建新的单元测试集,方法就是选择
File ...