尝试保存EKEvent时失败

时间:2013-08-24 12:11:18

标签: ios objective-c ekevent

我正在尝试关注this tutorial,但我在if (err = noErr) {开始时收到错误

这是我的代码:

#import "CalendarViewController.h"
#import <EventKit/EventKit.h>

@interface CalendarViewController ()

@end

@implementation CalendarViewController

-(IBAction) createEvent {

EKEventStore *eventStore = [[EKEventStore alloc ] init];

EKEvent *event = [EKEvent eventWithEventStore:eventStore];

NSDate *startDate = [[NSDate alloc] init];
NSDate *endDate = [[NSDate alloc] init];

event.title = @"Title for new event";
event.startDate = startDate;
event.endDate = endDate;
event.allDay = YES;

[event setCalendar: [eventStore defaultCalendarForNewEvents]];

NSError *err;


[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
if (err == noErr) {

    UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle:@"Event Created"
                          message:@"How about that?"
                          delegate:nil
                          cancelButtonTitle:@"Okay"
                          otherButtonTitles:nil];

        [alert show];
        [alert release];
}

[startDate release];
[endDate release];
[eventStore release];
}

我是初学者,这是我的HSC的一部分,但我没有让它正常工作。我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:1)

目前接受的答案有点误导。

如果Cocoa中的方法返回BOOL并包含对NSError对象的间接引用,则必须在检查错误对象之前检查返回值 - 因为仅当返回值为{{1}时是保证有效的错误对象。

NO

比我实际做的方式有点啰嗦,但你应该明白这个想法