2012-10-11 36 views
-1

日期我有一本字典在这些基本设置:查找最近从现在词典

->Root 
--->Monday 
------->Date 1 
------->Date 2 
--->Tuesday 
------->Date 1 
------->Date 2 
--->Wednesday 
------->Date 1 
------->Date 2 
--->Thursday 
------->Date 1 
------->Date 2 
--->Friday 
------->Date 1 
------->Date 2 

我如何才能找到,从这个字典中,从所有这些值的最早日期?

假设日期发生变化,当前值是([NSDate date])我需要做什么才能找到每天的循环,当天是第一个循环,并找到与当前日期最近的日期。

我希望我已经说清楚了。谢谢

+0

请问您能解释一下结构吗?周一不会总是在周二之前等吗?物理日期是否与写入日期字符串值不符? – propstm

+0

你的标题说得最早,你的问题说“离现在最近”,这是什么? –

+0

另外,您的字典也设置为每个键的日期数组? –

回答

1

你有一个根字典,有星期几的密钥。每周的每一天指向一个对象,它是'日期1'和'日期2'的字典(我所说的并不一定就是你所拥有的,这适用于任何结构)。我将使用“快速枚举”,但也可以使用块枚举。

首先创建一个NSDate对象并将其设置为'now'。

NSDate *date = [NSDate date]; 

for(NSString *key1 in root) { 
    NSDictionary *dates = [root objectForKey:key1]; 
    for(NSString *key2 in dates) { 
    NSDate *otherDate = [dates objectForKey:key2]; 

    date = [date earlierDate:otherDate]; 
    } 
} 

在结束日期将是最早的日期。

+0

对不起,但你能解释一下你的//循环部分吗?谢谢。 –