2013-05-28 12 views
0

У меня есть объект, например, «автомобиль». Внутри этого автомобильного предмета у меня есть еще один объект «шин». У этого объекта шины есть несколько свойств, один из которых является производителем.Сортировка объекта на основе свойства дочернего объекта

Мне нужно отсортировать массив автомобилей на основе производителя шин.

Я знаю, как сортировать объекты автомобилей на основе собственности внутри объекта автомобиля с дескрипторами. Но как вы относитесь к собственности внутри объекта шины?

благодаря

ответ

6

Сортировать дескрипторы использовать KVC, так что вы можете сортировать на основе свойства производитель шин с точечным синтаксисом. Что-то вроде:

NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"tires.manufacturer" ascending:YES]; 
NSArray *sortedArray = [cars sortedArrayUsingDescriptors:@[sortDescriptor]]; 

Для больше проверки КВЦ здесь: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/KeyValueCoding.html

+0

ах я вижу. Я не понял, что синтаксис точки действителен. хорошо, что делает вещи простыми – JMD

+0

хорошо, на какую шину вы хотите сортировать? самым простым решением здесь было бы добавить на шинах производитель «- (NSString *)», и вернуться в зависимости от того, какой из них вы хотите отсортировать. – Tark

+0

В настоящее время все шины одинаковы, поэтому хватит первого хватит. я просто не знаю, как обойти синтаксис дочернего объекта, являющегося свойством array или nsset. ничего, что я сделал, не работал для получения ЛЮБОГО из объектов в наборе. макет - это автомобильный объект с множеством шин для шин. – JMD

Смежные вопросы