我想一些GCD融入我的代码,并发现一个严重的瓶颈是我在一个大阵列对象之间进行比较的泡沫。这里是原始代码:Objective-C的快速计数冒泡排序
NSUInteger count = [arrayToDoWorkOn count];
for (int i = 0; i < count; i++)
{
for (int j = i + 1; j < count; j++)
{
[[arrayToDoWorkOn objectAtIndex:i] compare:[arrayToDoWorkOn objectAtIndex:j]];
}
}
Get my drift?所以很多的其他的快速列举的任务可以通过转换
for (id obj in array)
{
[obj aMessage:stuff];
}
可以很容易地GCD'd:
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)
{
[obj aMessage:stuff];
}];
有没有办法对我先行 - 八九不离十泡-八九不离十算法转换什么东西,我可以饲料的GCD块实施?
这有什么好做GCD仅几个街区。 – JeremyP
嘿,无情,如果我的回答回答你的问题,不要忘记标记为正确的答案! ;) –
WHOOPS。可以发誓我已经做到了。昨天很忙碌。再次感谢。 – Grimless