cloudkit saverecord方法使应用程序崩溃

时间:2014-12-30 01:53:31

标签: ios swift cloudkit

fyi,我正在关注tutorial

以下方法在模拟器和设备(5S)中崩溃我的应用程序。崩溃发生在“publicDatabase!”行。

我收到以下一般错误

致命错误:在解包可选值时意外发现nil

@IBAction func saveRecord(sender: AnyObject) {

    if (photoURL == nil) {
        notifyUser("No Photo", message: "Use the Photo option to choose a photo for the record")
        return
    }

    let asset = CKAsset(fileURL: photoURL!)

    let myRecord = CKRecord(recordType: "Houses")
    myRecord.setObject(addressField.text, forKey: "address")
    myRecord.setObject(commentsField.text, forKey: "comment")
    myRecord.setObject(asset, forKey: "photo")

    publicDatabase!.saveRecord(myRecord, completionHandler:
        ({returnRecord, error in
            if let err = error {
                self.notifyUser("Save Error", message:
                    err.localizedDescription)
            } else {
                dispatch_async(dispatch_get_main_queue()) {
                    self.notifyUser("Success",
                        message: "Record saved successfully")
                }
                self.currentRecord = myRecord
            }
        }))
}

任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:0)

问题在于publicDatabase它会nil,因为可能你没有初始化它。

在提供的代码中,没有publicDatabase初始化的相关代码。因此,请在使用前验证是否已将其初始化。