我对排序和合并问题之一感到困惑。让我描述我的问题如下。
第 1 步。我有一个数组。我只是在写一个数组的控制台日志来了解它的结构。
(
{
id_ = 1,
name_ = "some xyz name",
date_ = "2012/01/24 05:25:30 AM"
},
{
id_ = 2,
name_ = "some ABC name",
date_ = "2012/01/25 06:25:30 AM"
},
{
id_ = 1,
name_ = "some PQR name",
date_ = "2012/01/22 04:30:30 AM"
},
)
第 2 步。因此,为了对上述数组进行排序,我放置了以下代码。
NSArray *myArray = // someHow I get those values listed above.
NSSortDescriptor *sortD1=[[NSSortDescriptor alloc] initWithKey:@"date_" ascending:YES];
myArray = [myArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortD1]];
第 3 步。现在我有了完整的排序数组。
第 4 步。我有类似的另一个数组。
(
{
obj_id_ = 11,
obj_date_ = "2012/01/24 05:25:30 AM"
},
{
obj_id_ = 21,
obj_date_ = "2012/01/23 05:25:30 AM"
},
{
obj_id_ = 17,
obj_date_ = "2012/01/21 05:25:30 AM"
},
)
第 5 步。因此,为了对上述数组进行排序,我放置了以下代码。
NSArray *myArray2 = // someHow I get those values listed above.
NSSortDescriptor *sortD2=[[NSSortDescriptor alloc] initWithKey:@"obj_date_" ascending:YES];
myArray2 = [myArray2 sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortD2]];
第 6 步。现在我必须合并两个数组,但它应该根据日期进行排序。
(
{
obj_id_ = 17,
obj_date_ = "2012/01/21 05:25:30 AM"
},
{
id_ = 1,
name_ = "some PQR name",
date_ = "2012/01/22 04:30:30 AM"
},
{
obj_id_ = 21,
obj_date_ = "2012/01/23 05:25:30 AM"
},
{
id_ = 1,
name_ = "some xyz name",
date_ = "2012/01/24 05:25:30 AM"
},
{
obj_id_ = 11,
obj_date_ = "2012/01/24 05:25:30 AM"
},
{
id_ = 2,
name_ = "some ABC name",
date_ = "2012/01/25 06:25:30 AM"
}
)
我想要的预期输出如上。只是我不知道合并两个具有不同键值的不同数组的逻辑。我正在尝试为此建立一个逻辑,但它返回一个空数组并且它是错误的。所以,我不在这里发布它。
注意:如果这个问题是重复的,在否决之前,请通过评论通知我。我将删除它并感谢必要的链接和支持。:)