Error[8]: Undefined offset: 3, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我正在尝试创建日历,而不是日历事件而是日历.我无法获得本地来源,我的应用程序崩溃了. 这是我的代码: let newCalendar = EKCalendar(for: .event, eventStore: eventStore)newCalendar.title = "Some Calendar Name"let sourcesInEventStore = eventStore.sou 我正在尝试创建日历,而不是日历事件而是日历.我无法获得本地来源,我的应用程序崩溃了.

这是我的代码:

let newCalendar = EKCalendar(for: .event,eventStore: eventStore)newCalendar.Title = "Some Calendar name"let sourcesInEventStore = eventStore.sourcesnewCalendar.source = sourcesInEventStore.filter{            (source: EKSource) -> Bool in            source.sourceType.rawValue == EKSourceType.local.rawValue            }.first!

我完全关闭了我的iCloud,仍然无法获得本地资源.

我也试图让这个与iCloud打开工作,我想出了这个代码,但它不起作用

for let source in eventStore.sources        {            if(source.sourceType == EKSourceType.calDAV && source.Title == "iCloud")            {                newCalendar.source = source            }        }        if(newCalendar.source == nil)        {            for let source2 in eventStore.sources            {                if(source2.sourceType == EKSourceType.local)                {                    newCalendar.source = source2                }            }        }
解决方法 一些问题:

您的代码崩溃了,因为您首先从空数组中强制解包.以下是一些建议,以确保EKSource对象数组返回非空数组.

首先,要求用户使用EKEventStore实例上的requestAccess(to :)访问其日历.其次,使用if let从过滤后的数组中展开可能的可选值:

let eventStore = EKEventStore()eventStore.requestAccess(to: .event) { (granted,error) in    if granted {        let newCalendar = EKCalendar(for: .event,eventStore: eventStore)        newCalendar.Title = "Some Calendar name"        let sourcesInEventStore = eventStore.sources        let filteredSources = sourcesInEventStore.filter { [+++].sourceType == .local }        if let localSource = filteredSources.first {            newCalendar.source = localSource        } else {            // Somehow,the local calendar was not found,handle error accordingly        }    } else {        // check error and alert the user    }}
总结

以上是内存溢出为你收集整理的ios – 创建日历,即使关闭iCloud也没有本地来源全部内容,希望文章能够帮你解决ios – 创建日历,即使关闭iCloud也没有本地来源所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
ios – 创建日历,即使关闭iCloud也没有本地来源_app_内存溢出

ios – 创建日历,即使关闭iCloud也没有本地来源

ios – 创建日历,即使关闭iCloud也没有本地来源,第1张

概述我正在尝试创建日历,而不是日历事件而是日历.我无法获得本地来源,我的应用程序崩溃了. 这是我的代码: let newCalendar = EKCalendar(for: .event, eventStore: eventStore)newCalendar.title = "Some Calendar Name"let sourcesInEventStore = eventStore.sou 我正在尝试创建日历,而不是日历事件而是日历.我无法获得本地来源,我的应用程序崩溃了.

这是我的代码:

let newCalendar = EKCalendar(for: .event,eventStore: eventStore)newCalendar.Title = "Some Calendar name"let sourcesInEventStore = eventStore.sourcesnewCalendar.source = sourcesInEventStore.filter{            (source: EKSource) -> Bool in            source.sourceType.rawValue == EKSourceType.local.rawValue            }.first!

我完全关闭了我的iCloud,仍然无法获得本地资源.

我也试图让这个与iCloud打开工作,我想出了这个代码,但它不起作用

for let source in eventStore.sources        {            if(source.sourceType == EKSourceType.calDAV && source.Title == "iCloud")            {                newCalendar.source = source            }        }        if(newCalendar.source == nil)        {            for let source2 in eventStore.sources            {                if(source2.sourceType == EKSourceType.local)                {                    newCalendar.source = source2                }            }        }
解决方法 一些问题:

您的代码崩溃了,因为您首先从空数组中强制解包.以下是一些建议,以确保EKSource对象数组返回非空数组.

首先,要求用户使用EKEventStore实例上的requestAccess(to :)访问其日历.其次,使用if let从过滤后的数组中展开可能的可选值:

let eventStore = EKEventStore()eventStore.requestAccess(to: .event) { (granted,error) in    if granted {        let newCalendar = EKCalendar(for: .event,eventStore: eventStore)        newCalendar.Title = "Some Calendar name"        let sourcesInEventStore = eventStore.sources        let filteredSources = sourcesInEventStore.filter { .sourceType == .local }        if let localSource = filteredSources.first {            newCalendar.source = localSource        } else {            // Somehow,the local calendar was not found,handle error accordingly        }    } else {        // check error and alert the user    }}
总结

以上是内存溢出为你收集整理的ios – 创建日历,即使关闭iCloud也没有本地来源全部内容,希望文章能够帮你解决ios – 创建日历,即使关闭iCloud也没有本地来源所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1103270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存