所以,在我的第一个 View 中,我的 viewDidLoad 中得到了一个怪物代码。好吧,我分配了 7 个我自己的对象,所以它看起来像这样
OwnObject *o1 = [[OwnObject alloc] initWithValuesString"blabla" image:[UIImage named"blabla"]];
OwnObject *o2 = [[OwnObject alloc] initWithValuesString"blabla" image:[UIImage named"blabla"]];
等等……
我再次在苹果开发者那里观看了一个 session 视频,他们说我应该使用 GCD 来加快速度,那么我可以通过将它放入调度队列来加速我的应用程序吗?
请注意,我的 View 加载速度不是很慢,但我只是想知道我是否应该通常将类似的东西放在调度队列中。
谢谢,如果这是愚蠢的,对不起。
如果这些分配不做需要主线程的事情(例如,触摸 UI),那么它们可以通过 GCD 在队列中完成。您会想使用 dispatch_async
,因为使用同步调用,您仍然必须等到分配完成并且不会获得任何 yield 。此外,您需要确保您的 View Controller 旨在处理完成 viewDidLoad
而不分配这些对象,因为异步调度调用将是异步的。您可能需要发布分配已完成的通知或使用 dispatch_group_notify
以便 View Controller 知道分配何时完成并可以开始使用对象。
除非这些分配需要很长时间,否则这可能会带来更多麻烦。
关于iphone - 使用 GCD 加速 View 的加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6510140/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |