,所以我有一個字符串(monthsArray),看起來像這樣的數組:與塊排序數組不返回正確的結果
months array before :(
"November 2012",
"January 2013",
"September 2013",
"December 2012",
"August 2013"
)
,我用這個對它進行排序:
NSDateFormatter * formatter=[[NSDateFormatter alloc]init];
[formatter setDateFormat:@"MMMM YYYY"];
monthsArray = [NSMutableArray arrayWithArray:[tempMonthsArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
NSTimeInterval firstTime=[[formatter dateFromString:(NSString*)a]timeIntervalSince1970];
NSTimeInterval secondTime=[[formatter dateFromString:(NSString*)b]timeIntervalSince1970];
return [[NSNumber numberWithDouble:firstTime]compare:[NSNumber numberWithDouble:secondTime]];
}]];
之後我有點它,它看起來是這樣的:
months array after :(
"November 2012",
"December 2012",
"January 2013",
"September 2013",
"August 2013"
)
當您在之前和之後看到「排序」 array..they're沒有妥善安排。爲什麼不?我個人無法看到代碼有任何問題。
的日期格式年是'yyyy'(小寫)。 –
'dateFromString:(NSString *)a'應該是'dateFromString:a'。類型'id'是Objective-C的'void *'。 – 2013-08-07 11:39:02
ID不是無效的。 id是一個指向任何對象的通用指針 – skytz