title: [UIViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance
body: <p>I have a tabbar view that is connected to some items. </p>
  
  <p>I want that one of these items contains a <code>TableView</code>, but I don't want to use a <code>TableViewController</code> because I want to put something else in the head of the page. </p>
  
  <p>My <code>ViewController</code> implements the 2 protocols <code>UITableViewDataSource</code> and <code>UITableViewDelegate</code> and contains the following functions: </p>
  
  <pre><code>        func tableView(_ tableView: UITableView, numberOfRowsInSection
        section: Int) -&gt;
      Int {
          // Return the number of rows in the section.
          return annunci.count
       }
  
  
     func tableView(_ tableView: UITableView, cellForRowAt indexPath:
        IndexPath) -&gt;
      UITableViewCell {
          let cellIdentifier = "Cell"
          let cell = tableView.dequeueReusableCell(withIdentifier:
           cellIdentifier, for: indexPath)
          // Configure the cell...
          cell.textLabel?.text = annunci[indexPath.row]
          return cell }
  </code></pre>
  
  <p>Then, from the storyboard I added a prototype cell with identifier "Cell" and linked the <code>tableView</code> to the <code>viewController</code> as DataSource and Delegate. </p>
  
  <p>When I run the app it is ok, but when I select the item that contains the table view the app throws this exception: </p>
  
  <pre><code>       *** Terminating app due to uncaught exception   
       'NSInvalidArgumentException', reason: '-[UIViewController   
        tableView:numberOfRowsInSection:
        unrecognized selector sent to instance 0x101c29370'
  </code></pre>
  
  <p>How can I put something on the top of the page and then the tableView or how can i solve this problem? </p>
  
  <p>I am using Swift 3 and Xcode 8.2.1</p>