 
 private extension CountriesViewController {
   static func configureCell(cell: BasicCell, object: Country) {
+    cell.accessoryType = .None
+    
     cell.titleLabel.text = object.name
     cell.subtitleLabel.text = object.capital
   }

// MARK:- UITableViewDelegate
extension CountriesViewController {
  override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    tableView.deselectRowAtIndexPath(indexPath, animated: true)
  }


    return NSString(format: NSLocalizedString("%lu Countries", comment: "CountriesViewController footer format"), count) as String
  }
}

// MARK:- UIRefreshControl
// UIRefreshControl is not available on tvOS, so we have to keep everything related to that control separate.
// The `CountriesViewRefreshControlProtocol` protocol and extension ensure compatibility with tvOS.
// The `CountriesViewController` extension makes sure UIRefreshControl is only referenced outside tvOS.

protocol CountriesViewRefreshControlProtocol {
  func setupRefreshControl()
}

extension CountriesViewRefreshControlProtocol {
  func setupRefreshControl() {
    // This empty method simulates an optional protocol method like we have in ObjC.
  }
}

#if os(iOS)
extension CountriesViewController {
  func setupRefreshControl() {
    self.refreshControl = UIRefreshControl()
    self.refreshControl?.addTarget(self, action: #selector(self.tableViewPulledToRefresh(_:)), forControlEvents: .ValueChanged)
  }
  
  func tableViewPulledToRefresh(refreshControl: UIRefreshControl) {
    self.refreshTimer?.invalidate()
    
    // Simulating data loading, 10 secs to be sure that there's enough time to Reveal the view before it ends
    self.refreshTimer = NSTimer.scheduledTimerWithTimeInterval(10, target: self, selector: #selector(self.didLoadDummyData(_:)), userInfo: nil, repeats: false)
  }
  
  func didLoadDummyData(timer: NSTimer) {
    self.refreshControl?.endRefreshing()
  }
}
#endif
