2013-05-28 138 views
0

我有一個對象,比如說一個「汽車」對象。在這個汽車物體的內部,我有另一個「輪胎」的對象。這個輪胎對象有幾個屬性,其中一個是製造商。基於子對象的屬性對對象排序

我需要根據輪胎製造商對一系列汽車進行分類。

我知道如何根據汽車對象內的屬性用描述符對汽車對象進行排序。但是,如何基於輪胎對象內的屬性來分類?

感謝

回答

6

排序描述符使用KVC,這樣你就可以基於與點語法輪胎製造商屬性進行排序。喜歡的東西:

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

更多有關KVC檢查這裏:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/KeyValueCoding.html

+0

我明白了。我沒有意識到點語法是有效的。好吧,這使得事情變得簡單 – JMD

+0

好吧,你想排序哪個輪胎?這裏最簡單的解決方案是在輪胎上添加一個「 - (NSString *)製造商」,並返回您想要分類的那一個。 – Tark

+0

目前所有的輪胎都是一樣的,所以只需抓住第一個就足夠了。我只是不知道如何解決作爲數組或nsset屬性的子對象的語法。我所做的一切都是爲了獲得集合中的任何對象。該佈局是帶有輪胎對象的輪胎陣列的汽車物體。 – JMD