最近macと、windowsを同時に使っているのでショートカットとかが混ざるdemicadeです。
特にwindowsは、windowsキーとctrlがあるのが紛らわしい!!
macは一個だから楽ですね。
ところで本題。
dictというdictionaryを作って、blog,title,url,description,dateをそれぞれの名前のキーでセット。
その前に作った、nowもdictionaryにセットします。
その後、sortArrayに突っ込みます。
nowをキーにして、配列をソートします。
NSMutableArray *sortArray = [[NSMutableArray alloc]init];
for (int i = 0; i < 5; i++) {
//テスト用 日にちが変わる!
NSTimeInterval interval = -1 * (rand() % 10) * 86400;
NSDate *now = [NSDate dateWithTimeIntervalSinceNow:interval];
NSLog ( @"now = %@" ,now);
NSString *blog =[NSString stringWithFormat:@"blog-%d", i];
NSString *title =[NSString stringWithFormat:@"title-%d", i];
NSString *url =[NSString stringWithFormat:@"url-%d", i];
NSString *description =[NSString stringWithFormat:@"description-%d", i];
NSString *date =[NSString stringWithFormat:@"date-%d", i];
NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys:
now,@"now",blog,@"blog",title,@"title",url,@"url",description,@"description",date,@"date",nil];
[sortArray addObject:dict];
[dict release];
}
//ソート前のarrayを表示
NSLog(@"ソート前の配列");
NSLog ( @"sortArray:%@" ,sortArray);
//nowをキーにして、配列をソートする
NSSortDescriptor *dateAsc =
[[[NSSortDescriptor alloc] initWithKey:@"now" ascending:YES] autorelease];
NSArray *descriptors = [NSArray arrayWithObjects:dateAsc, nil];
[sortArray sortUsingDescriptors:descriptors];
//ソート後のarrayを表示
NSLog(@"ソート後の配列");
NSLog(@"sortArray:%@",sortArray);
[sortArray release];
【ログはこんな感じ ↓↓ 】
2012-12-26 01:54:58.773 dicTest[9106:707] now = 2012-12-18 16:54:58 +0000
2012-12-26 01:54:58.775 dicTest[9106:707] now = 2012-12-16 16:54:58 +0000
2012-12-26 01:54:58.777 dicTest[9106:707] now = 2012-12-22 16:54:58 +0000
2012-12-26 01:54:58.778 dicTest[9106:707] now = 2012-12-17 16:54:58 +0000
2012-12-26 01:54:58.780 dicTest[9106:707] now = 2012-12-25 16:54:58 +0000
2012-12-26 01:54:58.783 dicTest[9106:707] ソート前の配列
2012-12-26 01:54:58.786 dicTest[9106:707] sortArray:(
{
blog = "blog-0";
date = "date-0";
description = "description-0";
now = "2012-12-18 16:54:58 +0000";
title = "title-0";
url = "url-0";
},
{
blog = "blog-1";
date = "date-1";
description = "description-1";
now = "2012-12-16 16:54:58 +0000";
title = "title-1";
url = "url-1";
},
{
blog = "blog-2";
date = "date-2";
description = "description-2";
now = "2012-12-22 16:54:58 +0000";
title = "title-2";
url = "url-2";
},
{
blog = "blog-3";
date = "date-3";
description = "description-3";
now = "2012-12-17 16:54:58 +0000";
title = "title-3";
url = "url-3";
},
{
blog = "blog-4";
date = "date-4";
description = "description-4";
now = "2012-12-25 16:54:58 +0000";
title = "title-4";
url = "url-4";
}
)
2012-12-26 01:54:58.790 dicTest[9106:707] ソート後の配列
2012-12-26 01:54:58.793 dicTest[9106:707] sortArray:(
{
blog = "blog-1";
date = "date-1";
description = "description-1";
now = "2012-12-16 16:54:58 +0000";
title = "title-1";
url = "url-1";
},
{
blog = "blog-3";
date = "date-3";
description = "description-3";
now = "2012-12-17 16:54:58 +0000";
title = "title-3";
url = "url-3";
},
{
blog = "blog-0";
date = "date-0";
description = "description-0";
now = "2012-12-18 16:54:58 +0000";
title = "title-0";
url = "url-0";
},
{
blog = "blog-2";
date = "date-2";
description = "description-2";
now = "2012-12-22 16:54:58 +0000";
title = "title-2";
url = "url-2";
},
{
blog = "blog-4";
date = "date-4";
description = "description-4";
now = "2012-12-25 16:54:58 +0000";
title = "title-4";
url = "url-4";
}
)