为啥我的应用在使用 cloudkit 时会崩溃?
Posted
技术标签:
【中文标题】为啥我的应用在使用 cloudkit 时会崩溃?【英文标题】:Why did my app crash when using cloudkit?为什么我的应用在使用 cloudkit 时会崩溃? 【发布时间】:2015-04-12 22:13:12 【问题描述】:当我尝试使用 Swift 从 iCloud 加载数据时,应用程序因此错误而崩溃。这是为什么?我似乎找不到错误?
代码:
func LoadEvents()
let predicate:NSPredicate = NSPredicate(value: true)
let query:CKQuery = CKQuery(recordType: "Data", predicate: predicate)
query.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
if let database = self.publicDatabase
database.performQuery(query, inZoneWithID: nil, completionHandler: (records:[AnyObject]!, error:NSError!) in
if error != nil
self.alert("Error: \(error.localizedDescription)", Message: "Make sure iCloud is turned on and you are connected to the internet")
else
dispatch_async(dispatch_get_main_queue())
self.EventsArray.removeAll(keepCapacity: false)
for record in records
let usernameRecord:CKRecord = record as CKRecord
self.EventsArray.insert(usernameRecord.objectForKey("Events") as String, atIndex: 0)
println("1")
//update data
self.collectionView.reloadData()
)
【问题讨论】:
如果只有控制台告诉你问题是什么,嗯? 【参考方案1】:您正在阅读的记录可能没有名为“事件”的字段。所以 objectForKey 将返回 nil ,它不能转换为字符串。您可以使用as? String
或使用:
if let event = usernameRecord.objectForKey("Events") as? String
self.EventsArray.insert(event, atIndex: 0)
【讨论】:
以上是关于为啥我的应用在使用 cloudkit 时会崩溃?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 iOS 应用程序在尝试 presentModalViewController 时会崩溃?