title: cellForRowAtIndexPath and numberOfRowsInSection conflicting in tableView
body: <p>I am creating an app that is retrieving data from Firebase. In my 'MealViewController' I have a TableView that has the view controller as it's delegate and data source. I am getting the issue "Type 'MealViewController" does not conform to protocol 'UITableViewDataSource' because it requires both :numberOfRowsInSection: and :cellForRowAtIndexPath: . However, when I add both, another issue appears - 'Definition conflict with previous value'. I've looked through all the Stack Overflow issues related to this, and no luck has been had. Here's my View Controller:</p>
  
  <pre><code>    class MealViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
  
      var bgImage: UIImageView?
      var image : UIImage = UIImage(named: "pizza")!
      @IBOutlet weak var blurEffect: UIVisualEffectView!
      @IBOutlet weak var mealTableView: UITableView!
      var items = [MealItem]()
  
      override func viewDidLoad() {
          super.viewDidLoad()
          // Do any additional setup after loading the view, typically from a nib.
  
  
          bgImage = UIImageView(image: image)
          bgImage?.contentMode = .ScaleAspectFill
          bgImage!.frame = view.layer.bounds
  
          self.view.addSubview(bgImage!)
          //self.bgImage?.addSubview(blurEffect)
          //bgImage!.bringSubviewToFront(blurEffect)
          view.bringSubviewToFront(blurEffect)
  
          mealTableView.layer.cornerRadius = 5.0
          mealTableView.layer.borderColor = UIColor.whiteColor().CGColor
          mealTableView.layer.borderWidth = 0.5
  
  
          let ref = Firebase(url: "https://order-template.firebaseio.com/grocery-items")
  
          mealTableView.delegate = self
          mealTableView.dataSource = self
  
  
          // MARK: UIViewController Lifecycle
  
          func numberOfSectionsInTableView(tableView: UITableView) -&gt; Int {
  
              return 1
          }
  
          func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
              print(items.count)
              return items.count
  
          }
  
          func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; MealsCellTableViewCell { //issue occurs here
  
              let groceryItem = items[indexPath.row]
  
              if let cell = mealTableView.dequeueReusableCellWithIdentifier("ItemCell") as? MealsCellTableViewCell {
  
  
                  cell.configureCell(groceryItem)
  
                  // Determine whether the cell is checked
  
                  self.mealTableView.reloadData()
  
                  return cell
  
              }
          }
  
          func viewDidAppear(animated: Bool) {
              super.viewDidAppear(animated)
  
              // [1] Call the queryOrderedByChild function to return a reference that queries by the "completed" property
              ref.observeEventType(.Value, withBlock: { snapshot in
  
                  var newItems = [MealItem]()
  
                  for item in snapshot.children {
  
                      let mealItem = MealItem(snapshot: item as! FDataSnapshot)
                      newItems.append(mealItem)
                  }
  
                  self.items = newItems
                  self.mealTableView.reloadData()
              })
  
          }
  
  
  
          func viewDidDisappear(animated: Bool) {
              super.viewDidDisappear(animated)
  
          }
  
          func willAnimateRotationToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation, duration: NSTimeInterval) {
  
  
  
          }
  
  
  
      }
  
      override func willAnimateRotationToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation, duration: NSTimeInterval) {
  
          bgImage = UIImageView(image: image)
          bgImage?.contentMode = .ScaleAspectFill
  
          bgImage!.frame = view.layer.bounds
          self.view.addSubview(bgImage!)
          view.bringSubviewToFront(blurEffect)
  
      }
  
  
      override func didReceiveMemoryWarning() {
          super.didReceiveMemoryWarning()
          // Dispose of any resources that can be recreated.
      }
  
  
          // MARK: UITableView Delegate methods
  
  
  
  
  
  
  }
  </code></pre>