title: 'kABPersonAddressStreetKey' was deprecated in iOS 9.0: use CNPostalAddress.street
body: <p>I have the following class written in an earlier version of Swift. The <strong>Swift 2</strong> Compiler warns that </p>
  
  <p>'<strong>kABPersonAddressStreetKey</strong>' was deprecated in <strong>iOS 9.0</strong>: use <strong>CNPostalAddress.street</strong> </p>
  
  <p>and gives an error</p>
  
  <blockquote>
    <p>'Cannot find an initializer for type 'MKPlacemark' that accepts an
    argument list of type '(coordinate: CLLocationCoordinate2D,
    addressDictionary: [String : String?])'</p>
  </blockquote>
  
  <p>I realise that optionals are required to resolve the error but whatever I try does not seem to resolve the problem. This is due to me being a newbie to swift and any help would be appreciated.</p>
  
  <pre><code>import Foundation
  import MapKit
  import AddressBook
  
  class Artwork: NSObject, MKAnnotation {
  let title: String?
  let locationName: String
  let discipline: String
  let coordinate: CLLocationCoordinate2D
  
  init(title: String, locationName: String, discipline: String, coordinate: CLLocationCoordinate2D) {
      self.title = title
      self.locationName = locationName
      self.discipline = discipline
      self.coordinate = coordinate
  
      super.init()
  }
  
  var subtitle: String? {
      return locationName
  }
  
  // annotation callout info button opens this mapItem in Maps app
  func mapItem() -&gt; MKMapItem {
      let addressDictionary = [String(kABPersonAddressStreetKey): subtitle]
      let placemark = MKPlacemark(coordinate: coordinate, addressDictionary: addressDictionary)
  
      let mapItem = MKMapItem(placemark: placemark)
      mapItem.name = title
  
      return mapItem
    }
  }
  </code></pre>