2010-07-25 53 views
0
//list has type of NSMutableArray 

NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES] autorelease]; 
[list sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]]; 

我得到這個異常: 終止應用程序由於未捕獲的異常「NSUnknownKeyException」,原因:「[< __NSDate 0x5d57980> valueForUndefinedKey:]:這個類不是關鍵值編碼 - 符合關鍵日期。'異常它包含所有的NSDate對象

有什麼想法?如何解決它?

回答

1

一個NSDate沒有-date方法,所以你的NSSortDescriptor不起作用。

爲什麼不直接使用

[list sortUsingSelector:@selector(compare:)]; 

+0

謝謝!其實首先我想我需要定義比較:,但實際上比較:在系統中定義,是正確的? – zsong 2010-07-25 14:41:51

+0

@sza:[Yes](http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html#//apple_ref/occ/instm/NSDate/比較:)。 – kennytm 2010-07-25 14:43:41