title: How to return value from a Closure in Swift?
body: <p>So I am using fabric plugin/Twitter-kit to use twitter api in my application. I want to get the image URL of profile picture of a celebrity. here is my code below.</p>
  
  <pre><code>func getImageURL(celebrity :String) -&gt; String{
  
      var imageURL = ""
      let client = TWTRAPIClient()
      let statusesShowEndpoint = userSearch
      let params = ["q": celebrity,
                    "page" : "1",
                    "count" : "1"
                    ]
      var clientError : NSError?
  
      let request = client.URLRequestWithMethod("GET", URL: statusesShowEndpoint, parameters: params, error: &amp;clientError)
  
       client.sendTwitterRequest(request) { (response, data, connectionError) -&gt; Void in
          if connectionError != nil {
              print("Error: \(connectionError)")
          }
  
          do {
              let json = try NSJSONSerialization.JSONObjectWithData(data!, options: [])
              print("json: \(json)")
  
              let profileImageURL: String? = json[0].valueForKey("profile_image_url_https") as? String
  
              imageURL =  self.cropTheUrlOfImage(profileImageURL!)
              print(imageURL)
  
              //how do i return the value back. confused ?????
              return imageURL
  
          } catch let jsonError as NSError {
              print("json error: \(jsonError.localizedDescription)")
          }
      }
  
      return imageURL
  
  }
  </code></pre>
  
  <p>I don't know how to return value because the method finishes before the closure executes completely. I am new to swift, Any help is appreciated.</p>
  
  <p>I want to use this method in cellForRowIndexPath in tableview to dowload image from imageURl.</p>