나는 GCD를 내 코드에 통합하려고하는데, 심각한 병목 현상은 대규모 배열의 개체간에 수행하는 거품 비교라는 것을 알게되었습니다. 다음은 원래 코드입니다.Objective-C Fast Enumeration 버블 정렬
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]];
}
}
내 드리프트를 가져 옵니까? 그래서 다른 빠른 열거 작업의 많은 쉽게로
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