Как конвертировать URL в строку в IOS / SWIFT? - PullRequest
0 голосов
/ 02 декабря 2019

В моем коде ios / SWIFT я пытаюсь прочитать URL из предыдущего изображения, которое я успешно сохранил в Storage Firebase. При инструкции возникает ошибка, пусть url1 = url как! Строка Мне нужно преобразовать URL в строку, но приведение не работает. Инструкция по печати в порядке. Я вижу правильный URL-адрес при печати экрана журнала (url? .AbsoluteURL as Any)

   let armazenamento = Storage.storage().reference()
    let imagens = armazenamento.child("imagens")
    if let imagemSelecionada=imagem.image {
        if let imagemDados = imagemSelecionada.jpegData(compressionQuality: 0.1) {
            imagens.child("\(self.idImagem).jpg").putData(imagemDados, metadata: nil, completion: {(metaDados, erro) in
                if erro == nil {
                    print("Sucess upload")
                    imagens.child("\(self.idImagem).jpg").downloadURL(completion: { (url, erro) in
                        if(erro == nil)
                        {
                            print(url?.absoluteURL as Any )
                            let url1 = url as! String
                            self.performSegue(withIdentifier: "selecionarUsuarioSegue", sender: url1)
                        }else{
                            print(err!);
                        }
                    })

Ответы [ 3 ]

0 голосов
/ 03 декабря 2019

для преобразования URL в строку используйте это

var myurl: NSURL
var urlString: String = myurl.absoluteString

надеюсь, это поможет

0 голосов
/ 03 декабря 2019

Вы можете конвертировать URL в строку, используя url.absoluteString.

imagens.child("\(self.idImagem).jpg").downloadURL(completion: { (url, erro) in
                        if(erro == nil)
                        {
                            print(url?.absoluteString)
                            let urlString = url.absoluteString
                            self.performSegue(withIdentifier: "selecionarUsuarioSegue", sender: urlString)
                        }else{
                            print(err!);
                        }
                    })
0 голосов
/ 03 декабря 2019

Не работает, но в чем ошибка?

Старайтесь не принудительно понижать ваши опции, когда в этом нет крайней необходимости. Используйте if let необязательное развертывание или guard В любом случае, попробуйте это -

if let strurl = url {
    let urlString = strurl.absoluteString 
    print(type(of: urlString))  // should print "String"
}
else {
    // Your url is nil 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...