title: Firebase storage image url not working
body: <p>Hi I'm a newbie developer from Taiwan.
  I have started to use firebase(ios) storage for my app and I want to use <a href="https://github.com/zvonicek/ImageSlideshow" rel="nofollow noreferrer">ImageSliderShow</a> to make a image slider view. After I got the image URL from firebase. I appended the url string into array then I ran the app. The image slider view works fine but the new image just showing nothing. Then I printed the url String before and after I appended into the array. It gave me two different string. Here is my code.</p>
  <pre><code>override func viewDidLoad() {
      super.viewDidLoad()
      let URLString = loadURL()
      URLString.getURL(){
          (result:String) in
          self.ImageSliderView.backgroundColor = UIColor.white
          self.ImageSliderView.slideshowInterval = 5.0
          self.ImageSliderView.pageControlPosition = PageControlPosition.insideScrollView
          self.ImageSliderView.pageControl.currentPageIndicatorTintColor = UIColor.lightGray
          self.ImageSliderView.pageControl.pageIndicatorTintColor = UIColor.black
          self.ImageSliderView.contentScaleMode = UIViewContentMode.scaleAspectFill
          self.ImageSliderView.activityIndicator = DefaultActivityIndicator()
          self.ImageSliderView.currentPageChanged = { page in
              print(&quot;current page:&quot;, page)
          }
          print(&quot;Result: \(result)&quot;)      ////print the result string before appended into array.
          self.kingfisherSource.append(KingfisherSource(urlString: String(result))!)
          print(&quot;alamoArray3: \(self.kingfisherSource[3].url)&quot;)   ////print the result string after appended into array.
          self.ImageSliderView.setImageInputs(self.kingfisherSource)
          let recognizer = UITapGestureRecognizer(target: self, action: #selector(ResultViewController.didTap))
          self.ImageSliderView.addGestureRecognizer(recognizer)
      }
  }
  func didTap() {
      let fullScreenController = ImageSliderView.presentFullScreenController(from: self)
      // set the activity indicator for full screen controller (skipping the line will show no activity indicator)
      fullScreenController.slideshow.activityIndicator = DefaultActivityIndicator(style: .white, color: nil)
  }
  </code></pre>
  <p>getURL function:</p>
  <pre><code>class loadURL {
  let storage = Storage.storage(url: &quot;my-firebase-storage-bucket&quot;)
  func getURL(completion:@escaping (_ result:String)-&gt;Void) {
      self.storage.reference().child(&quot;images/breakfast/1/1.jpg&quot;).downloadURL { url, error in
          if error != nil {
              print(&quot;Firebase Image URL error: \(String(describing: error))&quot;)
          } else {
              print(&quot;Firebase Image URL: \(String(describing: url!))&quot;)
              completion(&quot;\(String(describing: url))&quot;)
          }
      }   
  }
  </code></pre>
  <p>The output:</p>
  <pre><code>Firebase Image URL: https://firebasestorage.googleapis.com/v0/b/my-firebase-storage-bucket/o/images%2Fbreakfast%2F1%2F1.jpg?alt=media&amp;token=15ee8094-ac50-4e93-adc0-200793181bfc
  Result: Optional(https://firebasestorage.googleapis.com/v0/b/my-firebase-storage-bucket/o/images%2Fbreakfast%2F1%2F1.jpg?alt=media&amp;token=15ee8094-ac50-4e93-adc0-200793181bfc)
  alamoArray3: Optional(https://firebasestorage.googleapis.com/v0/b/my-firebase-storage-bucket/o/images%2Fbreakfast%2F1%2F1.jpg?alt=m ... 3181bfc)
  </code></pre>
  <p>The 3rd output just weird... Is it possible be an encoding issue?
  And I apology about my bad English.</p>