2016-05-12 6 views
1

Ich mache für die Universität eine App mit Eventkit. Ich versuche, einen Kalender zu erstellen und ihn wie einen "DefaultCalendar, automatisch" zu machen, um alle Ereignisse nur in diesem Kalender hinzuzufügen und zu lesen.EventKit erstellt und einen Standardkalender automatisch

Mein Code zu versuchen, dies zu machen ist:

// im diesem Code

EKEventStore * store = [[EKEventStore alloc] init] zu machen, rufen;

EKSource *localSource = nil; 
    for (EKSource *source in store.sources) 
     if (source.sourceType == EKSourceTypeLocal){ 
      localSource = source; 
      break; 
     } 

    EKCalendar *cal; 
    cal = [EKCalendar calendarWithEventStore:store]; 

    cal.title = @"NewCalendar"; 
    cal.source = localSource; 
    [store saveCalendar:cal commit:YES error:nil]; 


    //self.appDelegate.eventManager.selectedCalendarIdentifier = cal.calendarIdentifier; 
    // [cal.calendarIdentifier=cal.calendarIdentifier]; 


    [[NSUserDefaults standardUserDefaults] setObject:cal.calendarIdentifier forKey:@"NewCalendar"]; 

} 

}

Die Frage ist also, wie kann ich diesen Kalender erstellen und nach nur diesen auf meiner App verwenden. Vielen Dank

Antwort

1

Sie müssen nur den Kalender erstellen und seine Kennung in NSUserDefaults speichern. Sobald Sie die Kennung haben, können Sie diesen Kalender immer in Ihrer App verwenden. Ihr Code erstellt bereits den Kalender cal. Von dort Stellen zunächst einen Schlüssel in NSUserDefaults, so dass Sie seine Kennung

NSString *defaultCalendarIdentifier = [[NSUserDefaults standardUserDefaults] stringForKey:@"defaultCalendarIdentifier"]; 

Dann können Sie speichern den Kalender Kennung als der Wert des Schlüssels speichern können Ihre gerade erstellt haben.

[[NSUserDefaults standardUserDefaults] setObject: [eventStore cal].calendarIdentifier forKey:@"defaultCalendarIdentifier"]; 

NSUserDefaults den Kalender-ID speichern, auch nachdem der Benutzer schließt und wieder öffnet die App.

Wenn Sie Ereignisse aus diesem Kalender erstellen und lesen, tun Sie dies immer mit der Kalender-ID, die Sie gerade gespeichert haben.

Dies ist im Grunde, wie Sie einen Kalender erstellen und in Ihrer App verwenden.

+0

Vielen Dank für die Antwort :) –

+0

Kein Problem. Ich bin froh, dass du es geschafft hast. – pessionic

Verwandte Themen