0
我正在製作一個應用程序,用於創建新日曆,然後使用該日曆添加事件等。 我可以創建日曆很好,但我試圖運行檢查以查看是否日曆存在,所以,不要每次都創建一個同名的第二個日曆。換句話說,只能創建新的日曆ONCE。isEqualToString無法正常工作
我設置了一個int變量並運行一個循環來檢查設備上每個日曆的title屬性,但是int變量永遠不會被更改,即使我正在搜索匹配的日曆名稱的字符串。
下面是我對「檢查日曆」代碼:
-(void)checkForCalendar {
EKEventStore *eventStore = [[EKEventStore alloc] init];
NSArray *calendarArray = [eventStore calendarsForEntityType:EKEntityTypeEvent];
//NSLog(@"%@", calendarArray);
for (int x = 0; x < [calendarArray count]; x++) {
EKCalendar *cal = [calendarArray objectAtIndex:x];
NSString *title = [cal title];
if ([title isEqualToString:@"AFTP"]) {
calendarExists = 1;
}else{
calendarExists = 0;
}
}
[self createCalendar];
}
這裏就是我對「創造」日曆部分:(工作正常,我只是總是得到一個「 。0" 代替1 calendarExists
INT)
-(void)createCalendar {
NSLog(@"%d",calendarExists);
if (calendarExists == 0) {
EKEventStore* eventStore = [[EKEventStore alloc] init];
NSString* calendarName = @"AFTP";
EKCalendar* calendar;
// Get the calendar source
EKSource* localSource;
for (EKSource* source in eventStore.sources) {
if (source.sourceType == EKSourceTypeCalDAV)
{
localSource = source;
break;
}
}
if (!localSource)
return;
calendar = [EKCalendar calendarForEntityType:EKEntityTypeEvent eventStore:eventStore];
calendar.source = localSource;
calendar.title = calendarName;
[eventStore saveCalendar:calendar commit:YES error:nil];
}
}
感謝darren,那肯定是問題所在。非常感謝。 – jhilgert00