Использование функции Firebase Unresolved Identifier

os.system в порядке, но как-то датировано. Это также не очень безопасно. Вместо этого попробуйте subprocess. subprocess не вызывает sh напрямую и поэтому более безопасен, чем os.system.

Получить дополнительную информацию здесь .

0
задан Doug Stevenson 4 March 2019 в 17:54
поделиться

2 ответа

Это не сработает:

storageRef.downloadURL(completion: { (URL, Error) -> Void in
    if (Error != nil) {
        //handle any errors
    } else {
        //get download url
        let photoUrl = URL?.absoluteString
    }
    self.sendDataToDatabase(photoUrl: photoUrl!)
})

photoUrl будет доступен только в предложении else, поскольку именно там он определен, и вы не можете использовать его вне этой области.

Кроме того, это:

func sendDataToDatabase(photoUrl: photoUrl!)

, вероятно, должно быть:

func sendDataToDatabase(photoUrl: String)

Также неплохо не называть переменные URL и Error, поскольку они идентичны к URL и классам ошибок. Назовите их url и error вместо.

0
ответ дан andlin 4 March 2019 в 17:54
поделиться

Есть много проблем.

Вы должны вызывать sendDataToDatabase только в ветви else и объявлять параметры начальными строчными буквами. Параметры , а не типов.

storageRef.downloadURL(completion: { (url, error) -> Void in
   if let error = error {
      //handle any errors
   } else {
     //get download url
     let photoUrl = url!.absoluteString
     self.sendDataToDatabase(photoUrl: photoUrl)
   }
})

и вы должны объявить тип в функции

func sendDataToDatabase(photoUrl: String) { ...
0
ответ дан vadian 4 March 2019 в 17:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: