从firebase swift下载图像,发出“意外发现的nil”

时间:2017-05-14 11:04:04

标签: ios swift firebase firebase-storage

我从firebase下载图像时出现问题,这是我的代码:

func getuser(){

FIRDatabase.database().reference().child("users").child(userID!).child("credentials").observeSingleEvent(of: .value, with: { (snapshot) in

        let value = snapshot.value as? NSDictionary
        let name = value?["name"] as! String
        let email = value?["email"] as! String
        let profilePicLink = value?["profilePicLink"] as? String ?? ""


        Variables.userName = name as String
        Variables.userEmail = email as String
        self.username.text = Variables.userName
        print(profilePicLink)
        // Create a storage reference from the URL
        let storageRef = self.storage.reference(forURL: profilePicLink)
        // Download the data, assuming a max size of 1MB (you can change this as necessary)
        storageRef.data(withMaxSize: 1 *  1000 * 1000 ) { (data, error) -> Void in

            let pic = UIImage(data: data!)
            self.img.image = pic

        }



    })


}

我收到了这个错误:

==> this the link as printed https://firebasestorage.googleapis.com/v0/b/eswitch-72b56.appspot.com/o/usersProfilePics%2FKYe6fIQReNM8Oog4ELOdRLsC99J3?alt=media&token=6f2392bc-d35b-4ebc-b2c1-2dc34bc4b95a
fatal error: unexpectedly found nil while unwrapping an Optional value

我得到的错误就在这一行

let storageRef = self.storage.reference(forURL: profilePicLink)

下面是我的快照读数:

snap (credentials) {
    email = "bilal@me.com";
    mobile = 50955514;
    name = Bilal;
    profilePicLink = "https://firebasestorage.googleapis.com/v0/b/eswitch-72b56.appspot.com/o/usersProfilePics%2FKYe6fIQReNM8Oog4ELOdRLsC99J3?alt=media&token=6f2392bc-d35b-4ebc-b2c1-2dc34bc4b95a";
    role = user;
}

由于

以下是解决方案:

将此行添加到func viewDidLoad()

storage = FIRStorage.storage()

1 个答案:

答案 0 :(得分:0)

您需要确保self.storage已初始化。

storage = FIRStorage.storage()