NSDate 인스턴스 변수를 한 달 씩 증가시킬 메소드를 구현하려고합니다. 나는 이것으로 메모리 관리 문제가있다. (나는 MallocScribble 및 NSZombieEnabled를 사용하고 메시지를 받고 있어요 : - [CFDate 복사] : 할당이 해제 된 인스턴스 0x3d9dfa0에 보낸 메시지) : 날짜를 증가하는 가장 좋은 방법은 무엇NSDate를 증가시키는 방법
내 질문에 온다?
NSDate *displayedMonthYear;
....
-(IBAction) nextMonth:(id)sender {
NSCalendar *calendar= [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
[dateComponents setMonth:1];
NSDate *prevDate = [displayedMonthYear copy];
[displayedMonthYear release];
displayedMonthYear = [calendar dateByAddingComponents:dateComponents toDate:prevDate options:0];
[prevDate release];
[dateComponents release];
[calendar release];
}
원래 나는 prevDate의 사본과 함께 비트를하고 있지했지만, 같은 일을했다 :
displayedMonthYear = [calendar dateByAddingComponents:dateComponents toDate:displayedMonthYear options:0];
그러나, 나는 그 방법은 메모리를 누출 할 우려했습니다 여기 내 코드입니다. 그래서 이것은 날짜 문제보다 메모리 관리 문제가 더 많을 것이라고 생각합니다. 그러나 어떤 도움도 좋을 것입니다. -
이 프로젝트의 코드 : HTTP : //github.com/klazuka/Kal 내가 코코아 등 날짜, 달, 관리하기위한 본 것 중에 최고입니다. –
감사합니다. – BridgetG