2016-12-21 2 views
0

Я использую представление Календаря в своем проекте. Я использую MBCalendarKit. Это одноразовая дата в одном событии. Но я хочу, чтобы на нескольких событиях показывалась одна дата. Но как это возможно, пожалуйста, помогите.Как показать Единую дату в нескольких событиях перезагрузить в MBCalendarKit

- (void) viewWillAppear: (BOOL)animated{ 

    NSArray *title = [_caldevice valueForKey:@"pill"]; 
// NSLog(@"event name fetch %@",title); 

NSArray *date =[_caldevice valueForKey:@"datetaken"]; 
// NSLog(@"event fetch %@",date); 

NSArray*dose= [_caldevice valueForKey:@"dose"]; 


NSString *title1; 
NSString*title2; 
NSDate *date1; 
NSData *imgdata; 
CKCalendarEvent *releaseUpdatedCalendarKit; 
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; 
    dateFormatter.dateFormat = @"dd-MM-yyyy"; 


for (int i = 0; i < [date count]; i++){ 
    title1 = NSLocalizedString(title[i], @""); 
    title2 = NSLocalizedString(dose[i], @""); 
    NSString *combined = [NSString stringWithFormat:@"%@ - %@", title1, title2]; 

    date1 = [dateFormatter dateFromString:date[i]]; 


    releaseUpdatedCalendarKit = [CKCalendarEvent eventWithTitle:combined andDate:date1 andInfo:Nil]; 

    // NSLog(@"Event: %@ , %@",combined,date1); 
    // releaseUpdatedCalendarKit = [CKCalendarEvent eventWithTitle:combined andDate:date1 andInfo:Nil andColor:[UIColor blueColor]]; 


    self.data[date1] = @[releaseUpdatedCalendarKit]; 
} 


} 
+0

Создайте вопрос и спросить в GitHub в библитеками, создатель может помочь U – Tj3n

+0

@ Tj3n я спросить, но не переигровка от создателя –

+0

Эй @ankurkumawat, я не являюсь разработчиком MBCalendarKit. Не могли бы вы связать проблему здесь, и я посмотрю, смогу ли я помочь? – Moshe

ответ

0

Вы зацикливание над кучей событий и для каждого события, вы * заменить ранее назначенный массив с новым, содержащий один элемент.

Заменить это:

self.data[date1] = @[releaseUpdatedCalendarKit]; 

с чем-то больше, как это:

// 1. First, get the previous events for that day. 
NSMutableArray <CKCalendarEvent *> *events = self.data[date1].mutableCopy; 

// 2. If events exist, append the event, otherwise create an empty array with the new event. 
if (events) { 
    [events addObject: newEvent]; 
} 
else { 
    events = @[newEvent]; 
} 

// 3. Set the events for the date key. 
self.data[date1] = events; 

Таким образом, вы делаете операцию «добавить или создать», а не перезаписывать каждый раз.

Раскрытие информации: Я написал и поддерживаю MBCalendarKit.