0
我在我的代碼中使用NSArray *toWrite = [[items sortedArrayUsingFunction:comparator context:nil] copy];
來排序NSArray中的NSDictionaires。比較NSMutableArray的NSMutableDictionaires的NSDate值
這裏是比較我的C函數:
static NSComparisonResult comparator(NSDictionary *d1, NSDictionary *d2, void *context)
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd/MM/yyyy"];
NSDate *date1 = [dateFormatter dateFromString:[d1 objectForKey:@"date"]];
NSDate *date2 = [dateFormatter dateFromString: [d2 objectForKey: @"dateString"]];
NSLog(@"date1:%@",[dateFormatter stringFromDate:date1]);
NSLog(@"date2:%@",[dateFormatter stringFromDate:date2]);
[dateFormatter release];
NSLog(@"COMPARE:%d",[date1 compare:date2]);
return [date1 compare:date2];
}
,這裏是輸出的時候我用3個NSDictionaries在NSArray中運行應用程序:
date1:Thu, 17/11/2011
date2:(null)
COMPARE:0
date1:Sat, 19/11/2011
date2:(null)
COMPARE:0
順便說這裏是怎麼從NSDictionary的我的.plist文件:
<dict>
<key>date</key>
<string>Thu, 17/11/2011</string>
<key>duration</key>
<string>120 min</string>
<key>location</key>
<string>BA708</string>
<key>notes</key>
<string>10 min reading time</string>
<key>seat</key>
<string>14</string>
<key>time</key>
<string>09:00</string>
<key>unitName</key>
<string>ROBOT SYSTEMS DESIGN</string>
</dict>
哇...你是對的,這是一個愚蠢的錯誤。我花了整個晚上看代碼。 – Kex
我也去過那裏。 – Wienke