title: How to solve Fatal error: Index out of range in Swift IOS
body: <p>I have a problem with a code is a RSS reader app for IOS. I have an error Thread 1: Fatal error: Index out of range.</p>
  
  <p>I wrote on which line the error is.
  By the way, this error does happen with all the RSS link I put for example with sky news RSS URL it works well but with some site (like the one I put now) it is not running and write Fatal error: Index out of range ERROR.</p>
  
  <p><strong>The Code:</strong></p>
  
  <pre><code>import UIKit
  
  class FeedListViewController: UITableViewController, XMLParserDelegate {
  
      var myFeed : NSArray = []
      var feedImgs: [AnyObject] = []
      var url: URL!
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          tableView.rowHeight = UITableViewAutomaticDimension
          tableView.estimatedRowHeight = 140
          tableView.backgroundColor = UIColorFromRGB(rgbValue: 0x00B6ED)
          self.tableView.dataSource = self
          self.tableView.delegate = self
  
          loadData()
      }
  
      @IBAction func refreshFeed(_ sender: Any) {
  
          loadData()
      }
  
      func loadData() {
          url = URL(string: "https://www.widgeti.co.il/feed")!
          loadRss(url);
      }
  
      func loadRss(_ data: URL) {
          // XmlParserManager instance/object/variable
          let myParser : XmlParserManager = XmlParserManager().initWithURL(data) as! XmlParserManager
          // Put feed in array
          feedImgs = myParser.img as [AnyObject]
          myFeed = myParser.feeds
          tableView.reloadData()
      }
  
      override func didReceiveMemoryWarning() {
          super.didReceiveMemoryWarning()
      }
  
      override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
          if segue.identifier == "openPage" {
              let indexPath: IndexPath = self.tableView.indexPathForSelectedRow!
              let selectedFURL: String = (myFeed[indexPath.row] as AnyObject).object(forKey: "link") as! String
              // Instance of our feedpageviewcontrolelr
              let fivc: FeedItemViewController = segue.destination as! FeedItemViewController
              fivc.selectedFeedURL = selectedFURL as String
          }
      }
  
      // MARK: - Table view data source
      override func numberOfSections(in tableView: UITableView) -&gt; Int {
          return 1
      }
  
      override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
          return myFeed.count
      }
  
      override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -&gt; UITableViewCell {
  
          let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
          cell.textLabel?.backgroundColor = UIColor.clear
          cell.detailTextLabel?.backgroundColor = UIColor.clear
  
          if indexPath.row % 2 == 0 {
              cell.backgroundColor = UIColor(white: 1, alpha: 0.1)
          } else {
              cell.backgroundColor = UIColor(white: 1, alpha: 0.2)
          }
  
          // Load feed iamge.
  
  
  
          let url = NSURL(string:feedImgs[indexPath.row] as! String) //ERROR Thread 1: Fatal error: Index out of range
          let data = NSData(contentsOf:url! as URL)
          var image = UIImage(data:data! as Data)
          image = resizeImage(image: image!, toTheSize: CGSize(width: 80, height: 80))
          let cellImageLayer: CALayer?  = cell.imageView?.layer
          cellImageLayer!.cornerRadius = 35
          cellImageLayer!.masksToBounds = true
          cell.imageView?.image = image
          cell.textLabel?.text = (myFeed.object(at: indexPath.row) as AnyObject).object(forKey: "title") as? String
          cell.textLabel?.textColor = UIColor.white
          cell.textLabel?.numberOfLines = 0
          cell.textLabel?.lineBreakMode = .byWordWrapping
  
          cell.detailTextLabel?.text = (myFeed.object(at: indexPath.row) as AnyObject).object(forKey: "pubDate") as? String
          cell.detailTextLabel?.textColor = UIColor.white
  
          return cell
      }
  
      func UIColorFromRGB(rgbValue: UInt) -&gt; UIColor {
          return UIColor(
              red: CGFloat((rgbValue &amp; 0xFF0000) &gt;&gt; 16) / 255.0,
              green: CGFloat((rgbValue &amp; 0x00FF00) &gt;&gt; 8) / 255.0,
              blue: CGFloat(rgbValue &amp; 0x0000FF) / 255.0,
              alpha: CGFloat(1.0)
          )
      }
  
      func resizeImage(image:UIImage, toTheSize size:CGSize)-&gt;UIImage{
  
  
          let scale = CGFloat(max(size.width/image.size.width,
                                  size.height/image.size.height))
          let width:CGFloat  = image.size.width * scale
          let height:CGFloat = image.size.height * scale;
  
          let rr:CGRect = CGRect(x: 0, y: 0, width: width, height: height)
  
          UIGraphicsBeginImageContextWithOptions(size, false, 0);
          image.draw(in: rr)
          let newImage = UIGraphicsGetImageFromCurrentImageContext()
          UIGraphicsEndImageContext();
          return newImage!
      }
  }
  </code></pre>
  
  <p>Can You help me solve this problem?
  Thanks!</p>