Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode4 如何在Xcode中编写一个程序来检查特定的iCal日历是否存在,并访问该日历以添加事件?_Xcode4 - Fatal编程技术网

Xcode4 如何在Xcode中编写一个程序来检查特定的iCal日历是否存在,并访问该日历以添加事件?

Xcode4 如何在Xcode中编写一个程序来检查特定的iCal日历是否存在,并访问该日历以添加事件?,xcode4,Xcode4,我知道EKEventStore类具有@property NSArray*calendars,该calendars返回事件存储的日历对象数组,但是我不知道如何访问该数组中的特定日历,因为我只知道日历的标题。我能在网上找到的唯一例子是访问defaultCalendarForNewEvents的程序,但我想要的日历不是默认日历。我也不知道日历的唯一标识符,我只知道标题。我试图使用valueForKey方法访问名为BART的日历,但我所做的肯定是错误的,有人能帮忙吗?以下是我尝试过的: @接口类:NSO

我知道EKEventStore类具有@property NSArray*calendars,该calendars返回事件存储的日历对象数组,但是我不知道如何访问该数组中的特定日历,因为我只知道日历的标题。我能在网上找到的唯一例子是访问defaultCalendarForNewEvents的程序,但我想要的日历不是默认日历。我也不知道日历的唯一标识符,我只知道标题。我试图使用valueForKey方法访问名为BART的日历,但我所做的肯定是错误的,有人能帮忙吗?以下是我尝试过的:

@接口类:NSObject{

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,这对我是一个巨大的帮助。