2010-08-09 82 views

回答

0

如果假設正確,那你的數組中的對象是一個自定義類,實現在類中的方法:

- (NSComparisonResult)compareByTax:(id)other 
{ 
    return [[self valueForKeyPath: @"tax.taxName"] compare: [other valueForKeyPath: @"tax.taxName"]]; 
} 

然後執行以下操作:

[array sortUsingSelector: @selector(compareByTax:)]; 
0

由於iOS4中您可以使用比較與此的NSArray消息:

- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr 

你會寫是這樣的:

NSArray *sortedArray = [unsortedArray sortedArrayUsingComparator:^(id object1, id object2) { // return NSComparisonResult ... }] 

另一種可能性是定義用於回調與此交流功能NSArray消息:

- (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void *))comparator context:(void *)context 

看看那裏的NSArray文檔也是用選擇器或描述符進行排序的消息。這取決於最適合你的東西。

相關問題