Нахождение наибольшей ширины канатов в NSArray - PullRequest
0 голосов
/ 14 апреля 2011

Я использую NSArray, который содержит CGRect значения.Есть ли какой-нибудь способ получить наибольшую ширину всех элементов, содержащихся в массиве, с помощью библиотечных методов, или я должен реализовать свою собственную логику?Заранее спасибо.

Пример кода:

for (int i=0; i<[array1 count]; i++) {
    CGRect rect = [[array1 objectAtIndex:i] CGRectValue];
// Here, some transformation of rects

[array2 addObject:[NSValue valueWithCGRect:rect]];

}

В этом коде я пытаюсь взять кадры из array1 и добавить их в array2.Я получаю кадры в array1 из XML.Я проанализировал эти кадры и поместил их в массив.Я предоставил свой код очень простым способом.

Ответы [ 2 ]

1 голос
/ 14 апреля 2011

Не отправляйте сообщение -count в ваш массив снова и снова.Это расточительно.

float result = 0.0;
for (value in array1)
  {
  GCRect rect = [value CGRectValue];
  result = MAX(result, rect.size.width);
  }  // "result" now contains the greatest width you saw in the loop.
0 голосов
/ 14 апреля 2011
for(int i=0; i < [array2 count]; i++) 
{
    CGRect rect = [[array2 objectAtIndex:i] CGRectValue];
    float widthTest = rect.size.width;
    //this gives you the width of each element. Compare and get the biggest
}
...