根据日期从plist文件中检索值

时间:2013-05-10 03:50:31

标签: ios objective-c plist

我一直在寻找如何这样做一段时间没有运气.. 如何根据今天的日期检索plist文件中存储的值,该日期是根据plist文件中的Key检查的。

enter image description here

例如,由于今天的日期是2013-05-10,代码应该输出5到控制台(plist文件中的相应键)。 或者例如。今天的日期是2013-05-13,代码应输出6到控制台(plist文件中的相应键。

这是我将plist文件加载到字典中的代码:

NSString *something = [[NSBundle mainBundle]pathForResource:@"Calender" ofType:@"plist"];
_calender = [[NSDictionary alloc]initWithContentsOfFile:something];
NSDate *eventDate = [_calender objectForKey:@"date"];

1 个答案:

答案 0 :(得分:2)

您的词典包含键的日期字符串,相应的值是字符串。

加载字典的代码很好。您缺少的部分是从当前日期生成正确的密钥。

NSDateFormatter *df = [[NSDateFormatter alloc] init];
// Use this special locale when generating fixed format date strings
NSLocale *posix = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[df setLocale:posix];
[df setDateFormat:@"yyyy-MM-dd"];
NSString *dateString = [df stringFromDate:[NSDate date]];

现在,您可以使用dateString作为字典的键来查找值:

NSString *dateValue = _calender[dateString]; // using your misspelling of calendar

dateValue将为@"5"@"6"或无。如果今天的日期不在字典中,那将是nil