2010-01-18 5 views
0

У меня есть группа объектов (UIImageViews) в массиве. Я хочу устроить их по знакам. Чем больше значение y, тем меньше число в массиве. Таким образом, один в верхней части страницы будет первым в массиве, а один внизу - последним в массиве. Они перемещаются так, чтобы каждую секунду или около того массив должен был быть перенастроен.Организация объектов

Кто-нибудь знает, как я могу это сделать? Любая помощь будет принята с благодарностью.

Приветствия, Lite

ответ

0

Сортировка контроллер массива, как правило, осуществляется через массив NSSortDescriptors.

Просто отсортировать массив можно с помощью sortedArrayUsingSelector:.

+0

Действительно, у меня была проблема с дескрипторами NSSort. Чтобы использовать UIImageView с NSSortDescriptor, мне нужно установить ключ изображения как что-то, и для этого мне нужно использовать .layer после него. Пример: для (UIImageView * Blocky in objectsArray) { [Blocky.layer setValue: [NSString stringWithFormat: @ "% f", Blocky.center.y] forKey: @ "value"]; } Но когда я пришел писать NSSortDescriptor, я не могу использовать .layer в массиве, который сортирует im. Поэтому я просто получаю сообщение об ошибке. Есть ли способ обойти это? – Ozzie

+0

Вы подумали о создании свойства, которое также устанавливает слой, а затем возвращает значение слоя. Это может позволить вам косвенно использовать этот слой. –

+0

А у меня нет. Я не понимал, что ты можешь это сделать! Как я мог это сделать, если вы не возражаете, чтобы я спросил? Я не мог найти много о .layer онлайн и им все еще немного начинающих iPhone. – Ozzie

0

Вы хотите отсортировать по происхождению кадра на UIImageView. Я решил эту проблему в прошлом, создав объект-обертку вокруг CGPoint и выполнив ваши сравнения с sortUsingSelector.