-1
안녕하세요. Ical에서 이벤트를 추가하려고합니다. Ical에 추가 할 이벤트가 64 개 있습니다. 먼저 이벤트를 제거한 다음 추가합니다. 여기 내 코드입니다 :IOS가 Ical에서 이벤트를 추가 할 때 메모리 문제가 발생합니다.
-(void)deleteAllEvents {
@autoreleasepool {
// Take start date before a year
NSDate *today = [[NSDate alloc] init];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setYear:-1]; // note that I'm setting it to -1
NSDate *startDate = [gregorian dateByAddingComponents:offsetComponents toDate:today options:0];
// Take end date after a year
int seconds_in_year = 60*60*24*365;
NSDate* currentFinish = [NSDate dateWithTimeInterval:seconds_in_year sinceDate:[NSDate new]];
NSArray *calendarArray = [NSArray arrayWithObject:calendar];
NSPredicate *predicate = [calStore predicateForEventsWithStartDate:startDate endDate:currentFinish calendars:calendarArray];
[calStore enumerateEventsMatchingPredicate:predicate usingBlock:^(EKEvent *event, BOOL *stop) {
NSLog(@"%@",event.title);
[calStore removeEvent:event span:EKSpanThisEvent error:nil];
}];
}
}
-(BOOL)addEvents:(NSArray *)arrayOfEvents {
@autoreleasepool {
for (int iAddtoCal = kZero; iAddtoCal < arrayOfEvents.count; iAddtoCal++) {
UserScheduleEvents *eventIcal = [arrayOfEvents objectAtIndex:iAddtoCal];
EKEvent *event = [EKEvent eventWithEventStore:calStore];
event.title = eventIcal.messge;
event.startDate = eventIcal.startTime;
event.endDate = [eventIcal.startTime dateByAddingTimeInterval:150*60];
event.notes = [NSString stringWithFormat:@"%@:",eventIcal.ids];
[event setCalendar:calendar];
NSError *err = nil;
[calStore saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
NSString *savedEventId = event.eventIdentifier; //this is so you can access this event later
NSLog(@"Event Id = %@",savedEventId);
sleep(kAnim_03);
}
}
return true;
}
"Gives Memory Issue"보다 자세한 정보가 필요합니다. 정확한 문제는 무엇입니까? 아마도 예외 로그일까요? for 루프 내부에서 자동 복구 풀을 움직여 볼 수도 있습니다. –