title: Why does Xcode auto-fix create two methods with the same name `func tableView`?
body: <p>I am new to swift programming language. I've seen that in creating table in Swift, you have to implement two methods in ViewController class that extends <code>UITableViewDelegate</code>, <code>UITableViewDataSource</code>. What I don't understand is, why does Xcode's auto-fix create two methods with the same name <code>func tableView</code> in this class? </p>
  
  <p>Is this not going to create method overloading or cause bug down the road?</p>
  
  <pre><code>import UIKit
  
  class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
  
      @IBOutlet var tableView: UITableView!
      let dataArray = ["firt", "second", "third", "four", "five", "six"]
  
      func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
          return dataArray.count
      }
  
      func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -&gt; UITableViewCell {
          let videoCell = tableView.dequeueReusableCell(withIdentifier: "video title", for: indexPath)
  
          return videoCell
      }
  
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          // Do any additional setup after loading the view.
          tableView.dataSource = self
          tableView.dataSource = self
      }
  
  }
  </code></pre>