2010-06-02 5 views
2

매일 서버에있는 파일 (NSURL)을 한 번만 확인하고 싶습니다. 그리고, 파일을 가져올 지 여부와 관계없이, 나는 그 날 다시 (파일을 검사하기 위해) 함수를 실행하지 않습니다.iPhone에서 전화로 집에 있어야하는지 하루에 한 번 확인하려면 어떻게해야합니까?

이것은 쉽게 들릴 것 같았지만 문제를 떠올리게합니다. mainBundle 아래에 "/ Library/runOnceEachDay /"디렉토리를 생성했다고 가정 해보십시오. 아마도/Library/runOnceEachDay/20100601에 이미 함수를 실행 한 경우에만 파일이 존재한다는 것을 알 수 있습니다. 존재하지 않으면 함수를 실행하고 함수가 성공한 후 파일 이름으로 날짜가있는 길이가 0 인 파일을 작성하십시오. 그런 다음 "mainBundle/Library/runOnceEachDay/YYYYMMDD"함수를 실행하기 전에 확인하십시오. 반면 YYYYMMDD는 오늘 날짜입니다. 해당 파일이 있으면 실행하지 마십시오.

나는 housecleaning 루틴을 실행하여 그 디렉토리를 한 번 또는 일주일 정도 청소할 수 있었다. 더 좋은 아이디어?

감사합니다.

답변

2

응용 프로그램을 시작할 때 NSUserDefaults에서 이전 전화 집 날짜/시간 (NSDate)을 가져옵니다. (처음에는 거기에 없을 것입니다). 이 SO question (option 1)은 방법을 보여줍니다.

이전 날짜/시간 (또는 거기에서 찾지 못했음) 이후 24 시간 (또는 7 일 또는 그 이상) 경과하면 다음 시작을 위해 NSUserDefaults에 집에 전화하여 현재 날짜/시간을 저장하십시오.

4

논리가 좋습니다. 당신이 말한대로 파일로 할 수 있고 "Documents"폴더는 그러한 파일을위한 좋은 위치입니다. 아니면 방금 마지막으로 집에 전화 한 날짜와 함께 NSUserDefaults 키를 가질 수 있습니다.

+0

iTunes의 새 "보관함"권한이있는 사용자가 문서를 열어 볼 수 없으므로 문서를 열렬하게 읽지는 않습니다. 그러나 그렇게 빨리 응답하는 것은 아닙니다. – Jann

+0

+1 NSUserDefaults FTW! – Ukko

관련 문제