1
내 애플 리케이션 todo 기능을 추가하는 노력하고 있습니다. 모든 것이 올바르게 보이는 것처럼 보이지만 Reminder에서 실패한 create를 얻지 만 NIL의 오류 값을 얻습니다. (I 텍스트와의 UIViewController에서 날짜를 당겨입니다 - - 모든 것이 제대로 연결되어) 여기에 관련 코드입니다 .`알림 생성 오류 메시지 NIL과 함께
-(IBAction)createButtonPressed
{
// Setup Variables for coverting date:
int year;
int month;
int day;
int hour;
int minute;
int second;
NSDate *actualDate;
NSDateComponents *dateComps;
NSCalendar *calendar;
NSDateFormatter *dateFormatter;
actualDate = dateValue.date;
calendar = [[NSCalendar currentCalendar] copy];
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[calendar timeZone]];
[dateFormatter setDateFormat:@"yyyy"];
year = [[dateFormatter stringFromDate:actualDate] intValue];
[dateFormatter setDateFormat:@"MM"];
month = [[dateFormatter stringFromDate:actualDate] intValue];
[dateFormatter setDateFormat:@"dd"];
day = [[dateFormatter stringFromDate:actualDate] intValue];
[dateFormatter setDateFormat:@"HH"];
hour = [[dateFormatter stringFromDate:actualDate] intValue];
[dateFormatter setDateFormat:@"mm"];
minute = [[dateFormatter stringFromDate:actualDate] intValue];
[dateFormatter setDateFormat:@"ss"];
second = [[dateFormatter stringFromDate:actualDate] intValue];
dateComps = [[NSDateComponents alloc] init];
[dateComps setTimeZone:[calendar timeZone]];
[dateComps setDay:day];
[dateComps setMonth:month];
[dateComps setYear:year];
// Create the Todo
EKReminder *reminder = [EKReminder reminderWithEventStore:store];
[reminder setTitle:self.actionText.text];
[reminder setDueDateComponents:dateComps];
EKCalendar *defaultReminderList = [store defaultCalendarForNewReminders];
[reminder setCalendar:defaultReminderList];
NSError *error = nil;
BOOL success = [store saveReminder:reminder
commit:YES
error:&error];
if (!success) {
NSLog(@"Error saving reminder: %@", [error localizedDescription]);
// Popup a messaging saying the reason why you can't create the todo.
} else {
// Popup a message saying the to do was created
}
}
`이 코드의 대부분은 올바른 형식으로 날짜를 얻기 위해 노력하고있다. "오류 절약 알림 : (널)"내 NSLog는 다음을 보여줍니다
'NSLog ("%의 @", 저장 @) 전과'권리 알림 저장 및 그게 당신에게 무엇을 참조하십시오. – Undo
상점이 null ... 캘린더에 액세스 할 권한이 없음을 의미해야 함 ... 내가 말할 수있는 것 –
설정을 체크인하고 앱에 캘린더에 액세스 할 권한이 있는지 확인하십시오. - 설정> 개인 정보> 캘린더 > 귀하의 응용 프로그램 (켜져 있어야합니다) – Undo