метод сохранения записи в cloudkit приводит к сбою приложения

к вашему сведению, я следую этому руководству

Следующий метод приводит к сбою моего приложения в симуляторе и на устройстве (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
            }
        }))
}

Кто-нибудь может оказать помощь?


person Dameon Bryant    schedule 30.12.2014    source источник


Ответы (1)


Проблема в том, что с publicDatabase это будет nil, потому что, вероятно, вы его не инициализировали.

В предоставленном коде нет соответствующего кода с инициализацией publicDatabase. Поэтому убедитесь, что вы инициализировали его перед использованием.

person Midhun MP    schedule 30.12.2014