2011-08-04 3 views
2

으로 변환하고 있습니다. 현재 핵심 데이터를 사용하는 응용 프로그램에서 작업하고 있습니다. 내 관리 대상 객체 중 한 요일 (일요일 - 토요일)을 정수 (0-6)로 추적하는 속성이 있습니다. 낮에는 객체를 정렬하고 저장시 오버 헤드를 줄이기 위해 일을 인덱스로 저장 한 다음 런타임 중에 문자열로 변환하는 것이 가장 좋습니다. 인덱스를 해당 날짜로 문자열로 변환하는 것이 가장 좋습니다. 즉. 0 => @ "일요일"및 6 => @ "토요일". 분명히 이것을 달성하기 위해 NSCalendar와 NSDate와 NSDateComponents를 사용할 수 있습니다. 그것은 작업의 단순성을 고려해 볼 때 매우 둥근 방법처럼 보입니다.요일 색인을 문자열 목적 코드

NSString *dayOfWeek[7] = {@"Sunday",@"Monday",@"Tuesday",@"Wednesday",@"Thursday",@"Friday'"@"Saturday"}; 

를하지만 나 자신이 계속해서 또 다시이 같은 변수를 다시 정의 찾을 : 물론, 같은 정의 간단한있는 NSString 배열은 트릭을 할 수 있습니다. 전역 상수 NSString이 작동 할 수 있습니다. 내가 가진 또 다른 아이디어는이 dayOfWeek 배열을 사용하고 그것을 필요로하는 파일에 포함시키는 함수를 만드는 것이었다. 어떻게 생각해. 가장 좋은 방법은 무엇입니까?

답변

1

다른 해결책은 NSString에 범주 메서드를 정의하는 것입니다 (예 : 숫자를 기준으로 문자열을 반환하는 방법). 그러면 strings 배열은 정적 일 수 있고 그 메서드에서만 사용됩니다.

+1

+1 물론이 효과가 있습니다. NSDateFormatter 접근법의 장점은 평일의 이름을 지역화 할 수 있다는 것입니다. :) –

+1

그럼 아마 두 가지 조합. NSDateFormatter가 지역화 된 텍스트를 반환한다는 사실은 훌륭합니다. 그러나 배열의 인덱스가 OP가 코어 데이터 (일요일 = 0)에서 사용하는 인덱스에 맞는지 확인해야합니다. 또한 아마 클래스 (또는 데이터 모델에서 더 나은)에서 메소드를 생성하고이 메소드가 weekdaySymbols 배열을 사용하도록 캡슐화 된 것일 수 있습니다. –

8

NSDateFormatter의 weekdaySymbols 메서드 중 하나는 어떻습니까?