菜鸟教程小白 发表于 2022-12-12 16:39:12

iphone - 使用 GCD 加速 View 的加载


                                            <p><p>所以,在我的第一个 View 中,我的 viewDidLoad 中得到了一个怪物代码。好吧,我分配了 7 个我自己的对象,所以它看起来像这样</p>

<pre><code>OwnObject *o1 = [ initWithValuesString:@&#34;blabla&#34; image:];
OwnObject *o2 = [ initWithValuesString:@&#34;blabla&#34; 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]
查看完整版本: iphone - 使用 GCD 加速 View 的加载