2016-05-17 4 views

答えて

0
私は、あなたのアプリに保存されているイベントとiCalのイベントを同期するために、ここでラフなアルゴリズムを掲示しています

//model class for DB Events 
@interface EventEntity 

@property(strong) NSString *eventID; 
@property(strong) NSString *eventText; 

@end 

NSMutableArray *dbEvents; //array of EventEntity objects 
NSArray *iCalEvents; //array of events fetched from iCal 

NSMutableArray *eventsToDelete = [NSMutableArray array]; //We will add events in this array, needed to be deleted from db. 

for(EventEntity *entity in dbEvents) { 
    bool found = NO; //to keep track if this event has been found in iCal or not 

for(EkEvent *event in iCalEvents) { 
    if([event.eventidentifier isEqualToString:entity.eventID]) { 
    found = YES; //event is present in Cal. Ignore and break 
     break; 
    } 
} 

    if(!found) { //If not found, it means event has been deleted from iCal. Remove it from DB. 
    [eventsToDelete addObject:entity]; 
    } 
} 

//Now delete items one by one from db 
for(EventEntity *entity in eventsToDelete) { 

//make query something like this: Delete event where EventID = entity.eventID 

//after successful deletion, remove from dbEvents 
[dbEvents removeObject:entity]; 
} 

//refresh your UI for calendar/events if needed. 

はそれが役に立てば幸い!

関連する問題