2014-08-30 3 views
2

사용자가 알람의 반복 빈도를 선택할 수 있도록 기본 Clock의 일부 기능을 재현하려고합니다. 문제는 다른 NSCalendar 설정이 요일에 대해 다른 이름을 제공한다는 것입니다. 선택한 요일을 사용자가 캘린더를 변경하면 빈도가 항상 요일에 해당하는 방식으로 저장하는 방법은 무엇입니까?NSDate 및 NSDateFormatter를 사용하여 요일을 저장하는 가장 좋은 방법

+0

7 일 그레고리력을 사용한다고 가정하면 요일의 숫자 값을 저장하기 만하면됩니다. –

+0

@HotLicks 문제는 내가 하나의 달력을 고수 할 수 없다는 것입니다. 나는 사람들이 가지고있는 세팅을 정확히 예측할 수 없다. – InkGolem

+0

만약 그레고리력을 가정하지 못한다면 (즉, 7 일주인지 알지도 못한다.), 나는 선택한 요일을 어떻게 저장할 수 있을지 모른다. –

답변

1

하나의 해결책은 앱이 포 그라운드로 들어올 때마다 캘린더가 변경되었는지 확인하는 것입니다. 그렇다면 앱이 포 그라운드로 변경 될 때마다 적절하게 변경하십시오. 아마 가장 우아한 해결책이나 모범 사례는 아니지만 일을 끝낼 수 있습니다.

-2

(long) [dateYouWantToRemember timeIntervalSince1970]을 가져 와서 속성 파일이나 그 중 일부에 저장하십시오. (timeIntervalSinceReferenceDate를 사용할 수는 있지만 1970 년 번호는 "UNIX 신기원"날짜이며보다 표준화되어 있습니다. 변환기를 온라인에서 찾을 수 있습니다.)

나중에 잠재적으로 다른 달력 아래에서 [NSDate dateWithTimeIntervalSince1970:theLongYouStored]을 수행하고 새 달력에서 날짜를 재구성합니다.

NSCalendar/NSDateComponents를 사용하여 해당 날짜의 새로운 서수를 찾고 [NSDateFormatter weekdaySymbols]을 사용하여 요일 이름 목록을 가져옵니다. 서수를 사용하여 목록에 색인을 붙여 새 요일 이름을 가져옵니다. NSDateComponents를 사용하여 산술 연산을 수행하여 해당 요일 인 다음 날짜를 앱에서 필요에 따라 선택하십시오.

+0

(향후 독자들에게 :이 대답은 단지 무의미한 것이어서 대답은 답안에 포함 된 훌륭한 조언을 반영한 것이 아닙니다.) –