2010-07-31 3 views
2

Я хочу сортировать NSArray UIImageView по своей структуре?сортировать NSArray UIImagerview?

Я пытаюсь использовать NSSortDescriptor, но когда я пишу key = @ "frame" непризнанная ошибка селектора. , пожалуйста, расскажите, как сортировать мой массив.

благодарит заранее.

ответ

1

Вы всегда можете написать свою собственную функцию компаратора и определить пользовательскую сортировку поведение с помощью NSArray sortedArrayUsingSelector method

0

попробуйте этот код в проекте

NSArray * myArray = @[ 

      [[UIImageView alloc] initWithFrame:CGRectMake(0, 50, 200, 100)], 
       [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 200, 100)], 
       [[UIImageView alloc] initWithFrame:CGRectMake(50, 40, 50, 100)], 
       [[UIImageView alloc] initWithFrame:CGRectMake(30, 30, 200, 100)], 
       [[UIImageView alloc] initWithFrame:CGRectMake(10, 50, 200, 67)] 

    ]; 


    myArray = [myArray sortedArrayUsingComparator:^NSComparisonResult(UIImageView * view1, UIImageView * view2) { 

     if (! CGRectIntersectsRect(view1.frame, view2.frame)) { 
      return NSOrderedAscending; 
     } else { 
      return NSOrderedDescending; 
     } 

    }];