Xcode4 如何在Xcode中编写一个程序来检查特定的iCal日历是否存在,并访问该日历以添加事件?
我知道EKEventStore类具有@property NSArray*calendars,该calendars返回事件存储的日历对象数组,但是我不知道如何访问该数组中的特定日历,因为我只知道日历的标题。我能在网上找到的唯一例子是访问defaultCalendarForNewEvents的程序,但我想要的日历不是默认日历。我也不知道日历的唯一标识符,我只知道标题。我试图使用valueForKey方法访问名为BART的日历,但我所做的肯定是错误的,有人能帮忙吗?以下是我尝试过的: @接口类:NSObject{Xcode4 如何在Xcode中编写一个程序来检查特定的iCal日历是否存在,并访问该日历以添加事件?,xcode4,Xcode4,我知道EKEventStore类具有@property NSArray*calendars,该calendars返回事件存储的日历对象数组,但是我不知道如何访问该数组中的特定日历,因为我只知道日历的标题。我能在网上找到的唯一例子是访问defaultCalendarForNewEvents的程序,但我想要的日历不是默认日历。我也不知道日历的唯一标识符,我只知道标题。我试图使用valueForKey方法访问名为BART的日历,但我所做的肯定是错误的,有人能帮忙吗?以下是我尝试过的: @接口类:NSO
EKEventStore *eventStore;
EKCalendar *bart
NSArray *calendars;
}
@属性(非原子,保留)EKEventStore*eventStore
@属性(非原子,保留)NSArray*日历
@属性(非原子,保留)EKCalendar*bart
-(EKCalendar)GetBart日历
@结束
@实施
@综合日历、bart、eventStore
-(EKCalendar)getBartCalendar{
[self setEventStore: [[EKEventStore alloc] init]];
[self setCalendars = [eventStore calendars]];
NSArray *titles = [calendars valueForKey:@"title"];
[self setBart:[titles valueForKey:@"BART"]];
我想你离目标很近了 您可以这样做:
EKEventStore *eventStore = [[EKEventStore alloc]init];
EKCalendar *bart;
NSArray *myCals = [eventStore calendars];
for (int i=0; i < [myCalls count]; i++) {
bart = [myCals objectAtIndex:i];
if (bart.title isEqualToString:@"Bart"){
break;
}
else {
bart = nil;
}
}
EKEventStore*eventStore=[[EKEventStore alloc]init];
艾克*巴特;
NSArray*myCals=[eventStore日历];
对于(int i=0;i<[myCalls count];i++){
bart=[myCals objectAtIndex:i];
if(bart.title isEqualToString:@“bart”){
打破
}
否则{
bart=零;
}
}
如果日历“Bart”存在,你会在循环结束时得到它。我认为你离目标很近了 您可以这样做:
EKEventStore *eventStore = [[EKEventStore alloc]init];
EKCalendar *bart;
NSArray *myCals = [eventStore calendars];
for (int i=0; i < [myCalls count]; i++) {
bart = [myCals objectAtIndex:i];
if (bart.title isEqualToString:@"Bart"){
break;
}
else {
bart = nil;
}
}
EKEventStore*eventStore=[[EKEventStore alloc]init];
艾克*巴特;
NSArray*myCals=[eventStore日历];
对于(int i=0;i<[myCalls count];i++){
bart=[myCals objectAtIndex:i];
if(bart.title isEqualToString:@“bart”){
打破
}
否则{
bart=零;
}
}
如果日历“Bart”存在,您将在循环的最后得到它。非常感谢@HeinerTiling,这对我是一个巨大的帮助。非常感谢@HeinerTiling,这对我是一个巨大的帮助。