mk1*_*k12 4 iphone lazy-loading clarity uiviewcontroller
我已经有了这样的问题,但无论如何我已经删除了它.
我有一个非常简单的应用程序,它具有根视图控制器,并在两个其他视图控制器视图之间切换.所以在我的根视图控制器中,它延迟加载其他两个视图控制器的实例.每次按下工具栏中的切换按钮时,将显示当前正在显示的视图控制器(其视图)(设置为nil),并加载新视图控制器并将其添加到子视图中.
因为我加载了我的视图控制器并在特定时间卸载,所以在getter中的延迟加载代码非常混乱,因为我实际上并不想在我使用它们时正确加载它们,我需要加载它们才能使翻转动画看起来不错.所以我想我想让loadFirstVC和loadSecondVC方法加载视图控制器.这是一个好主意吗?
延迟加载的主要原因不是推迟肯定会发生的加载.它用于推迟可能永远不需要的负载.(当数据发生变化时强制重新加载也很有用,但这不是你的问题.)
示例:假设您有一堆关于某人的数据,包括照片,该照片存储在外部文件中.但是,只有当用户进入子视图时才会显示照片,那么为什么要加载来自其文件的照片,直到您确定子视图将会出现为止?繁荣,使用延迟加载.
当您知道要加载某个数据时,在确切地加载它时,它不太重要.
什么时候重要?嗯,这真的是优化问题.有一种说法你可能遇到过; 如果你还没有,这是一个很好的时间:"过早的优化是所有(编程)邪恶的根源."
所以问自己两个问题:
肯定会需要这些数据吗?如果否,继续使用延迟加载技术.如果是,请转到问题2.
加载数据时是否重要?[一个例子是,它是巨大的,我不想加载它,直到我卸载其他东西为它腾出空间]如果没有,把它放在任何有用的地方.如果是的话......回来再问我们,并提供更多细节.
...我怀疑这不能回答你原来的问题,但听起来你可能首先会问错误的问题.如果我错了,请道歉.
| 归档时间: |
|
| 查看次数: |
1465 次 |
| 最近记录: |