2013-05-10 3 views
-2

나는 행운을 비움으로 지금 당장 이것을하는 방법을 찾고 있습니다. 오늘 날짜에 따라 키에 대해 검사 된 plist 파일에 저장된 값을 검색하려면 어떻게해야합니까? plist 파일에. 날짜로 오늘 예를 들어 날짜를 기준으로 plist 파일에서 가치를 얻으십시오

enter image description here

코드가해야 콘솔에 출력 5합니다 (PLIST 파일에서 해당 키가. 또는 예를 들어합니다. 날짜를 오늘 2013-05입니다 2013년 5월 10일입니다 -13 코드해야 콘솔에 출력 6합니다 (PLIST 파일에서 해당 키

여기에 사전에 PLIST 파일을로드하려면 코드는 다음과 같습니다.

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

이것은 'NSDictionary'와 'NSDate'의 문서를 실행하는 것없이 아무런 일도하지 않고 매우 간단합니다. –

+1

나는 그 순간에 파일에 액세스하고 사전에 만들었지 만 plist 파일의 키와 현재 날짜를 비교하는 방법을 모르겠다. – Anon957

+0

실제로 사용하고있는 코드를 표시하십시오. – matt

답변

2

귀하의 사전이 키에 대한 날짜 문자열을 가지고 있으며, 해당하는 사람 g 값은 문자열입니다.

사전을로드하는 코드가 정상입니다. 누락 된 부분은 현재 날짜에서 적절한 키를 생성하고 있습니다.

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이 될 것입니다. 오늘 날짜가 사전에 없으면 nil이됩니다.

관련 문제