iphone - 使用 GCD 加速 View 的加载
<p><p>所以,在我的第一个 View 中,我的 viewDidLoad 中得到了一个怪物代码。好吧,我分配了 7 个我自己的对象,所以它看起来像这样</p>
<pre><code>OwnObject *o1 = [ initWithValuesString:@"blabla" image:];
OwnObject *o2 = [ initWithValuesString:@"blabla" image:];
</code></pre>
<p>等等……</p>
<p>我再次在苹果开发者那里观看了一个 session 视频,他们说我应该使用 GCD 来加快速度,那么我可以通过将它放入调度队列来加速我的应用程序吗?</p>
<p>请注意,我的 View 加载速度不是很慢,但我只是想知道我是否应该通常将类似的东西放在调度队列中。</p>
<p>谢谢,如果这是愚蠢的,对不起。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>如果这些分配不做需要主线程的事情(例如,触摸 UI),那么它们可以通过 GCD 在队列中完成。您会想使用 <code>dispatch_async</code>,因为使用同步调用,您仍然必须等到分配完成并且不会获得任何 yield 。此外,您需要确保您的 ViewController 旨在处理完成 <code>viewDidLoad</code> 而不分配这些对象,因为异步调度调用将是异步的。您可能需要发布分配已完成的通知或使用 <code>dispatch_group_notify</code> 以便 ViewController 知道分配何时完成并可以开始使用对象。</p>
<p>除非这些分配需要很长时间,否则这可能会带来更多麻烦。</p></p>
<p style="font-size: 20px;">关于iphone - 使用 GCD 加速 View 的加载,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/6510140/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/6510140/
</a>
</p>
页:
[1]