title: reload tableView from UITableViewController
body: <p>I'm trying to reload my tableView from a UItableViewController but it's not working.
  It's a list of songs which I'm getting like so:</p>
  
  <pre><code>func request(params:[String])
  {
      //soap envelop here with list of parameters reqquested
  }
  
  func response(response responseData: NSMutableData)
  {
      var error: NSError?
      if let xmlDoc = AEXMLDocument(xmlData: responseData, error: &amp;error)
      {
          respCode=xmlDoc.root["soap:Body"]["\(methodName)Response"]["\(methodName)Result"]["_jResponseCode"].value!.toInt()!
          var dictData:AEXMLElement = xmlDoc.root["soap:Body"]["\(methodName)Response"]["\(methodName)Result"]["_objResponse"]["_structConcertDetails"]
          ConcertDetails.sConcertName = dictData["sConcertName"].value!
          ConcertDetails.sConcertOrganiserName = dictData["sConcertOrganiserName"].value!
          ConcertDetails.sConcertVenue = dictData["sConcertVenue"].value!
          ConcertDetails.sPlaylistCreatedBy = dictData["sPlaylistCreatedBy"].value!
          ConcertDetails.sPlaylistName = dictData["sPlaylistName"].value!
          var songList:AEXMLElement = dictData["aStructSongDetails"]
          for var i:Int = 0; i &lt; songList.children.count; i++
          {
              var songXML:AEXMLElement = songList.children[i]
              var structSong:structSongDetails = structSongDetails()
              structSong.sSongsName = songXML["sSongsName"].value!
              structSong.suidSong = songXML["suidSong"].value!
              structSong.sSongArtist = songXML["sSongArtist"].value!
              ConcertDetails.SongList.append(structSong)
          }
          pageTarget?.serviceResponse(self)
      }
  }
  </code></pre>
  
  <p>I'm calling it here:</p>
  
  <pre><code>override func viewDidLoad() {
      super.viewDidLoad()
      navHeight = self.navigationController?.navigationBar.frame.height
      statusHeight = UIApplication.sharedApplication().statusBarFrame.height
      addSongRequestTimerLabel()
      soapObject = GetConcertDetails()
      soapObject.request(["B54f22899a5712b3efb2ec191101b2f917"])
      soapObject.pageTarget = self
      var connector: WSSoapConnector = WSSoapConnector()
      connector.callAPI(soapObject)
  </code></pre>
  
  <p>This is the custom API:</p>
  
  <pre><code>protocol _IFaceAPI
  {
      var methodName: String {get}
      var pageTarget: _IFaceCallTarget? {get set}
      var soapEnv: String {get set}
      var respCode: Int {get set}
      func request(params:[String])
      func response(response responseData: NSMutableData)
  }
  </code></pre>
  
  <p>and i'm reloading the tableView in the service response like so:</p>
  
  <pre><code>func serviceResponse(target: _IFaceAPI)
  {
      self.tableView.reloadData()
  }
  </code></pre>
  
  <p>reloadData isn't working. I'm receiving correct response with all 200 songs in the songList array. But nothing is displayed on the table when I run the app. Whether in a simulator or on my iPhone 6</p>
  
  <p>updating with the code for tableview:</p>
  
  <pre><code>override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; UITableViewCell
  {
      let cell = tableView.dequeueReusableCellWithIdentifier("songListItem") as! UITableViewCell
      if self.soapObject.ConcertDetails.SongList[indexPath.row].checkValue == 1
      {
          cell.accessoryType = .Checkmark
          cell.backgroundColor = UIColor.lightGrayColor()
          cell.userInteractionEnabled = false
      }
      else
      {
          cell.accessoryType = .None
      }
      cell.textLabel?.text = self.soapObject.ConcertDetails.SongList[indexPath.row].sSongsName + "-" + self.soapObject.ConcertDetails.SongList[indexPath.row].sSongArtist
      // Configure the cell...
  
      return cell
  </code></pre>