[swift-users] defaultCalendarForNewEvents is defined as optional however can't use optional binding to check if it's nil

Jordan Rose jordan_rose at apple.com
Wed Jan 10 12:13:19 CST 2018

Hi, Filiz. Are you sure you're using Swift 4 and not the Swift 3 compatibility mode? 'defaultCalendarForNewEvents' was marked non-optional in Swift 3 by accident and that was fixed in Swift 4.


> On Jan 10, 2018, at 08:59, Filiz Kurban via swift-users <swift-users at swift.org> wrote:
> Hello,
> I'm adding a new functionality in my app, which is the ability to add an event in the default calendar set up on the phone. In the implementation, I get the permission and am ready to add the event. I check to see if there is an actual default calendar through the use of optional binding, but I get the error:
> Initializer for conditional binding must have Optional type, not 'EKCalendar'
> Now, defaultCalendarForNewEvents is an Optional (see declaration below) and it should be perfectly fine to use optional binding to check if it's nil or not. What am I missing?
> defaultCalendarForNewEvents definition in EKEventStore.h:
> open var defaultCalendarForNewEvents: EKCalendar? { get }
> I'm using Swift 4 on iOS11.2
> if let defaultCalendar = eventStore.defaultCalendarForNewEvents { <-- error line
>     newEvent.title = "Some Event Name"
>     newEvent.startDate = Date()
>     newEvent.endDate = Date()
> }
> Thank you for your help in advance.
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20180110/40b89114/attachment.html>

More information about the swift-users mailing list