title: Passing parameters with #selector
body: <p>I'm a beginner to Swift and I'm trying to initiate a function through NotificationCenter. The observer  in 'ViewController.swift' calls on function <code>reload</code>:</p>
  
  <pre><code>override func viewDidLoad() {
      super.viewDidLoad()
      NotificationCenter.default.addObserver(self, selector: #selector(reload), name: NSNotification.Name(rawValue: "reload"), object: nil)
  }
  
  func reload(target: Item) {
      print(target.name)
      print(target.iconName)
  }
  </code></pre>
  
  <p>... which has a parameter of class <code>Ítem</code>:</p>
  
  <pre><code>class Item: NSObject {
      let name: String
      let iconName: String
      init(name: String, iconName: String) {
          self.name = name
          self.iconName = iconName
      }
  }
  </code></pre>
  
  <p>The notification is posted from "menu.swift":</p>
  
  <pre><code>class menu: UIView, UITableViewDelegate, UITableViewDataSource {
  
  let items: [Item] = {
      return [Item(name: "Johnny", iconName: "A"), Item(name: "Alexis", iconName: "B"), Item(name: "Steven", iconName: "C")]
  }()
  
  ...
  
  func tableView(_ tableView: UITableView, didSelectRowAt indexPath:
      NotificationCenter.default.post(name: NSNotification.Name(rawValue: "reload"), object: items[indexPath.row])
      }
  </code></pre>
  
  <p>How do I assign the value of object <code>items[indexPath.row]</code> from 'menu.swift' to the parameter of function <code>reload</code> in 'ViewController.swift'?</p>