title: What does it mean when XCode auto-completes Swift properties as "object.?.propertyName"?
body: <p>I have a basic understanding of how optional types work in Swift, but I'm confused as to why XCode is auto completing my optional properties when they are defined as</p>
  
  <pre><code>class Test {
  
      var _pageViewController: UIPageViewController? = nil
  
      override func viewDidLoad() {
          super.viewDidLoad()
          _pageViewController.?.setViewControllers(...)
          // auto completes in xcode to _pageViewController.?.setViewControllers
          ...
  </code></pre>
  
  <p>I'm confused as what the purpose of the '?' property/method on the optional type is for? It doesn't really seem to serve any purpose as far as I can tell?</p>