此处实现将DatePicker得到的信息存入数组,注意fm的属性:
-(IBAction)displayDate
{
NSDate *pickerDate=[pickerdate];
NSDateFormatter *fm = [[NSDateFormatteralloc]init];
fm.locale = [[NSLocalealloc]initWithLocaleIdentifier:@"zh_CN"];
fm.dateStyle=kCFDateFormatterFullStyle;
fm.timeStyle=kCFDateFormatterMediumStyle;
NSString *dateString = [fmstringFromDate:pickerDate];
//NSString *dateString = [fm stringFromDate:[picker date]];
dateLabel.text=dateString;
[addDateaddObject:dateLabel.text];
}
传值时也要注意fm的值,将存入的字符串转为NSDate格式并用compare:排序
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"date"])
{
DateTabel *dateT=(DateTabel *)segue.destinationViewController;
NSDateFormatter *fm = [[NSDateFormatter alloc]init];
fm.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"];
fm.dateStyle=kCFDateFormatterFullStyle;
fm.timeStyle=kCFDateFormatterMediumStyle;
NSMutableArray *newArray=[[NSMutableArray alloc]init];
for (int x=0; x<addDate.count; x++) {
NSDate *myDate=[fm dateFromString:[addDate objectAtIndex:x]];
[newArray addObject:myDate];
}
// [newArray sortUsingSelector:@selector(compare:)];
// NSMutableArray *newKeyArray=[[NSMutableArray alloc]init];
[newArray sortUsingComparator:^NSComparisonResult(id obj1,id obj2) {
NSDate *date1=obj1;
NSDate *date2=obj2;
return [date2 compare :date1];
}];
dateT.dateArray=newArray;
NSLog(@"%@",newArray);
// NSLog(@"%@",newKeyArray);
}
}
效果为按时间逆顺序排列:
效果是按时间倒序排列: