레이블과 두 개의 화살표 단추가 있습니다. 왼쪽 화살표를 밀 때 나는 그 날보다 하루를 덜 보여주고 싶다. 그리고 오른쪽 화살표를 누르면 날이 추가되어야합니다.레이블이 올바른 날짜로 새로 고침되지 않습니다.
이 순간이 내 코드입니다.
- (IBAction)addDay:(id)sender {
NSDateComponents *dayComponent = [[NSDateComponents alloc] init];
dayComponent.day = 1;
NSCalendar *theCalendar = [NSCalendar currentCalendar];
NSString *dateNow = _lblDate.text;
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE. d MMMM YYYY"];
NSDate *date = [dateFormat dateFromString:dateNow];
date = [theCalendar dateByAddingComponents:dayComponent toDate:date options:0];
NSString *dateString = [dateFormat stringFromDate:date];
_lblDate.text = dateString;
}
- (IBAction)deleteDay:(id)sender {
NSDateComponents *dayComponent = [[NSDateComponents alloc] init];
dayComponent.day = 1;
NSCalendar *theCalendar = [NSCalendar currentCalendar];
NSString *dateNow = _lblDate.text;
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE. d MMMM YYYY"];
NSDate *date = [dateFormat dateFromString:dateNow];
date = [theCalendar dateByAddingComponents:dayComponent toDate:date options:0];
NSString *dateString = [dateFormat stringFromDate:date];
_lblDate.text = dateString;
}
하지만 어떤 이유로 든 날짜가 잘못 되었나요? 날짜를 추가하거나 삭제할 때 패턴이 없습니다.
아무도 도와 줄 수 있습니까?
종류의 난이 주요 문제이지만, - (IBAction)deleteDay:(id)sender
에, dayComponent.day = 1;
이 dayComponent.day = -1;
을해야 확실하지 않다
다음을 수행 빼려면? –
정확히 어떻게 일자가 틀립니까? – Hyperbole
이동 모듈 방식의 사용이 코드 - (는 NSString *) shortHandDate { \t 경우 (shortHandDateFormatter == 닐) { \t \t shortHandDateFormatter = [NSDateFormatter의 ALLOC] INIT]; \t \t [shortHandDateFormatter setDateFormat : @ "EE d MMMM yyyy"]; \t} \t return [shortHandDateFormatter stringFromDate : self]; } –