Documentation Archive Developer
Search

MapKit Changes for Swift

MapKit

Removed MKDirectionsRequest.destination() -> MKMapItem!
Removed MKDirectionsRequest.setDestination(_: MKMapItem!)
Removed MKDirectionsRequest.setSource(_: MKMapItem!)
Removed MKDirectionsRequest.source() -> MKMapItem!
Removed MKDirectionsTransportType.init(_: UInt)
Modified MKAnnotation
Declaration
From
protocol MKAnnotation : NSObjectProtocol {
    var coordinate: CLLocationCoordinate2D { get }
    optional var title: String! { get }
    optional var subtitle: String! { get }
}
To
protocol MKAnnotation : NSObjectProtocol {
    var coordinate: CLLocationCoordinate2D { get }
    optional var title: String? { get }
    optional var subtitle: String? { get }
}

Declaration
From
optional var subtitle: String! { get }
To
optional var subtitle: String? { get }

Declaration
From
optional var title: String! { get }
To
optional var title: String? { get }

Declaration
From
class MKAnnotationView : UIView {
    init!(annotation annotation: MKAnnotation!, reuseIdentifier reuseIdentifier: String!)
    var reuseIdentifier: String! { get }
    func prepareForReuse()
    var annotation: MKAnnotation!
    var image: UIImage!
    var centerOffset: CGPoint
    var calloutOffset: CGPoint
    var enabled: Bool
    var highlighted: Bool
    var selected: Bool
    func setSelected(_ selected: Bool, animated animated: Bool)
    var canShowCallout: Bool
    var leftCalloutAccessoryView: UIView!
    var rightCalloutAccessoryView: UIView!
    var draggable: Bool
    var dragState: MKAnnotationViewDragState
    func setDragState(_ newDragState: MKAnnotationViewDragState, animated animated: Bool)
}
To
class MKAnnotationView : UIView {
    init(annotation annotation: MKAnnotation?, reuseIdentifier reuseIdentifier: String?)
    var reuseIdentifier: String? { get }
    func prepareForReuse()
    var annotation: MKAnnotation?
    var image: UIImage?
    var centerOffset: CGPoint
    var calloutOffset: CGPoint
    var enabled: Bool
    var highlighted: Bool
    var selected: Bool
    func setSelected(_ selected: Bool, animated animated: Bool)
    var canShowCallout: Bool
    var leftCalloutAccessoryView: UIView?
    var rightCalloutAccessoryView: UIView?
    var detailCalloutAccessoryView: UIView?
    var draggable: Bool
    var dragState: MKAnnotationViewDragState
    func setDragState(_ newDragState: MKAnnotationViewDragState, animated animated: Bool)
}

Declaration
From
var annotation: MKAnnotation!
To
var annotation: MKAnnotation?

Declaration
From
var image: UIImage!
To
var image: UIImage?

Declaration
From
init!(annotation annotation: MKAnnotation!, reuseIdentifier reuseIdentifier: String!)
To
init(annotation annotation: MKAnnotation?, reuseIdentifier reuseIdentifier: String?)

Declaration
From
var leftCalloutAccessoryView: UIView!
To
var leftCalloutAccessoryView: UIView?

Declaration
From
var reuseIdentifier: String! { get }
To
var reuseIdentifier: String? { get }

Declaration
From
var rightCalloutAccessoryView: UIView!
To
var rightCalloutAccessoryView: UIView?

Raw Value Type
From--
ToUInt

Modified MKCircle
Declaration
From
class MKCircle : MKShape, MKOverlay, MKAnnotation, NSObjectProtocol {
    convenience init!(centerCoordinate coord: CLLocationCoordinate2D, radius radius: CLLocationDistance)
    class func circleWithCenterCoordinate(_ coord: CLLocationCoordinate2D, radius radius: CLLocationDistance) -> Self!
    convenience init!(mapRect mapRect: MKMapRect)
    class func circleWithMapRect(_ mapRect: MKMapRect) -> Self!
    var coordinate: CLLocationCoordinate2D { get }
    var radius: CLLocationDistance { get }
    var boundingMapRect: MKMapRect { get }
}
To
class MKCircle : MKShape, MKOverlay {
    convenience init(centerCoordinate coord: CLLocationCoordinate2D, radius radius: CLLocationDistance)
    class func circleWithCenterCoordinate(_ coord: CLLocationCoordinate2D, radius radius: CLLocationDistance) -> Self
    convenience init(mapRect mapRect: MKMapRect)
    class func circleWithMapRect(_ mapRect: MKMapRect) -> Self
    var coordinate: CLLocationCoordinate2D { get }
    var radius: CLLocationDistance { get }
    var boundingMapRect: MKMapRect { get }
}

Declaration
From
convenience init!(centerCoordinate coord: CLLocationCoordinate2D, radius radius: CLLocationDistance)
To
convenience init(centerCoordinate coord: CLLocationCoordinate2D, radius radius: CLLocationDistance)

Declaration
From
convenience init!(mapRect mapRect: MKMapRect)
To
convenience init(mapRect mapRect: MKMapRect)

Declaration
From
class MKCircleRenderer : MKOverlayPathRenderer {
    init!(circle circle: MKCircle!)
    var circle: MKCircle! { get }
}
To
class MKCircleRenderer : MKOverlayPathRenderer {
    init(circle circle: MKCircle)
    var circle: MKCircle { get }
}

Declaration
From
var circle: MKCircle! { get }
To
var circle: MKCircle { get }

Declaration
From
init!(circle circle: MKCircle!)
To
init(circle circle: MKCircle)

Modified MKDirections
Declaration
From
class MKDirections : NSObject {
    init!(request request: MKDirectionsRequest!)
    func calculateDirectionsWithCompletionHandler(_ completionHandler: MKDirectionsHandler!)
    func calculateETAWithCompletionHandler(_ completionHandler: MKETAHandler!)
    func cancel()
    var calculating: Bool { get }
}
To
class MKDirections : NSObject {
    init(request request: MKDirectionsRequest)
    func calculateDirectionsWithCompletionHandler(_ completionHandler: MKDirectionsHandler)
    func calculateETAWithCompletionHandler(_ completionHandler: MKETAHandler)
    func cancel()
    var calculating: Bool { get }
}

Declaration
From
func calculateDirectionsWithCompletionHandler(_ completionHandler: MKDirectionsHandler!)
To
func calculateDirectionsWithCompletionHandler(_ completionHandler: MKDirectionsHandler)

Declaration
From
func calculateETAWithCompletionHandler(_ completionHandler: MKETAHandler!)
To
func calculateETAWithCompletionHandler(_ completionHandler: MKETAHandler)

Declaration
From
init!(request request: MKDirectionsRequest!)
To
init(request request: MKDirectionsRequest)

Declaration
From
class MKDirectionsRequest : NSObject {
    func source() -> MKMapItem!
    func setSource(_ source: MKMapItem!)
    func destination() -> MKMapItem!
    func setDestination(_ destination: MKMapItem!)
}
extension MKDirectionsRequest {
    var transportType: MKDirectionsTransportType
    var requestsAlternateRoutes: Bool
    @NSCopying var departureDate: NSDate!
    @NSCopying var arrivalDate: NSDate!
}
extension MKDirectionsRequest {
    init!(contentsOfURL url: NSURL!)
    class func isDirectionsRequestURL(_ url: NSURL!) -> Bool
}
To
class MKDirectionsRequest : NSObject {
    var source: MKMapItem?
    var destination: MKMapItem?
}
extension MKDirectionsRequest {
    var transportType: MKDirectionsTransportType
    var requestsAlternateRoutes: Bool
    @NSCopying var departureDate: NSDate?
    @NSCopying var arrivalDate: NSDate?
}
extension MKDirectionsRequest {
    init(contentsOfURL url: NSURL)
    class func isDirectionsRequestURL(_ url: NSURL) -> Bool
}

Declaration
From
@NSCopying var arrivalDate: NSDate!
To
@NSCopying var arrivalDate: NSDate?

Declaration
From
@NSCopying var departureDate: NSDate!
To
@NSCopying var departureDate: NSDate?

Declaration
From
init!(contentsOfURL url: NSURL!)
To
init(contentsOfURL url: NSURL)

Declaration
From
class func isDirectionsRequestURL(_ url: NSURL!) -> Bool
To
class func isDirectionsRequestURL(_ url: NSURL) -> Bool

Declaration
From
class MKDirectionsResponse : NSObject {
    var source: MKMapItem! { get }
    var destination: MKMapItem! { get }
    var routes: [AnyObject]! { get }
}
To
class MKDirectionsResponse : NSObject {
    var source: MKMapItem { get }
    var destination: MKMapItem { get }
    var routes: [MKRoute] { get }
}

Declaration
From
var destination: MKMapItem! { get }
To
var destination: MKMapItem { get }

Declaration
From
var routes: [AnyObject]! { get }
To
var routes: [MKRoute] { get }

Declaration
From
var source: MKMapItem! { get }
To
var source: MKMapItem { get }

DeclarationProtocols
From
struct MKDirectionsTransportType : RawOptionSetType {
    init(_ rawValue: UInt)
    init(rawValue rawValue: UInt)
    static var Automobile: MKDirectionsTransportType { get }
    static var Walking: MKDirectionsTransportType { get }
    static var Any: MKDirectionsTransportType { get }
}
RawOptionSetType
To
struct MKDirectionsTransportType : OptionSetType {
    init(rawValue rawValue: UInt)
    static var Automobile: MKDirectionsTransportType { get }
    static var Walking: MKDirectionsTransportType { get }
    static var Transit: MKDirectionsTransportType { get }
    static var Any: MKDirectionsTransportType { get }
}
OptionSetType

Declaration
From
class MKDistanceFormatter : NSFormatter {
    func stringFromDistance(_ distance: CLLocationDistance) -> String!
    func distanceFromString(_ distance: String!) -> CLLocationDistance
    @NSCopying var locale: NSLocale!
    var units: MKDistanceFormatterUnits
    var unitStyle: MKDistanceFormatterUnitStyle
}
To
class MKDistanceFormatter : NSFormatter {
    func stringFromDistance(_ distance: CLLocationDistance) -> String
    func distanceFromString(_ distance: String) -> CLLocationDistance
    @NSCopying var locale: NSLocale!
    var units: MKDistanceFormatterUnits
    var unitStyle: MKDistanceFormatterUnitStyle
}

Declaration
From
func distanceFromString(_ distance: String!) -> CLLocationDistance
To
func distanceFromString(_ distance: String) -> CLLocationDistance

Declaration
From
func stringFromDistance(_ distance: CLLocationDistance) -> String!
To
func stringFromDistance(_ distance: CLLocationDistance) -> String

Raw Value Type
From--
ToUInt

Raw Value Type
From--
ToUInt

Raw Value Type
From--
ToUInt

Modified MKETAResponse
Declaration
From
class MKETAResponse : NSObject {
    var source: MKMapItem! { get }
    var destination: MKMapItem! { get }
    var expectedTravelTime: NSTimeInterval { get }
}
To
class MKETAResponse : NSObject {
    var source: MKMapItem { get }
    var destination: MKMapItem { get }
    var expectedTravelTime: NSTimeInterval { get }
    var distance: CLLocationDistance { get }
    var expectedArrivalDate: NSDate { get }
    var expectedDepartureDate: NSDate { get }
    var transportType: MKDirectionsTransportType { get }
}

Declaration
From
var destination: MKMapItem! { get }
To
var destination: MKMapItem { get }

Declaration
From
var source: MKMapItem! { get }
To
var source: MKMapItem { get }

Declaration
From
class MKGeodesicPolyline : MKPolyline {
    convenience init!(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
    class func polylineWithPoints(_ points: UnsafeMutablePointer<MKMapPoint>, count count: Int) -> Self!
    convenience init!(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)
    class func polylineWithCoordinates(_ coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int) -> Self!
}
To
class MKGeodesicPolyline : MKPolyline {
    convenience init(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
    class func polylineWithPoints(_ points: UnsafeMutablePointer<MKMapPoint>, count count: Int) -> Self
    convenience init(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)
    class func polylineWithCoordinates(_ coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int) -> Self
}

Declaration
From
convenience init!(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)
To
convenience init(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)

Declaration
From
convenience init!(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
To
convenience init(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)

Modified MKLocalSearch
Declaration
From
class MKLocalSearch : NSObject {
    init!(request request: MKLocalSearchRequest!)
    func startWithCompletionHandler(_ completionHandler: MKLocalSearchCompletionHandler!)
    func cancel()
    var searching: Bool { get }
}
To
class MKLocalSearch : NSObject {
    init(request request: MKLocalSearchRequest)
    func startWithCompletionHandler(_ completionHandler: MKLocalSearchCompletionHandler)
    func cancel()
    var searching: Bool { get }
}

Declaration
From
init!(request request: MKLocalSearchRequest!)
To
init(request request: MKLocalSearchRequest)

Declaration
From
func startWithCompletionHandler(_ completionHandler: MKLocalSearchCompletionHandler!)
To
func startWithCompletionHandler(_ completionHandler: MKLocalSearchCompletionHandler)

Declaration
From
class MKLocalSearchRequest : NSObject, NSCopying {
    var naturalLanguageQuery: String!
    var region: MKCoordinateRegion
}
To
class MKLocalSearchRequest : NSObject, NSCopying {
    var naturalLanguageQuery: String?
    var region: MKCoordinateRegion
}

Declaration
From
var naturalLanguageQuery: String!
To
var naturalLanguageQuery: String?

Declaration
From
class MKLocalSearchResponse : NSObject {
    var mapItems: [AnyObject]! { get }
    var boundingRegion: MKCoordinateRegion { get }
}
To
class MKLocalSearchResponse : NSObject {
    var mapItems: [MKMapItem] { get }
    var boundingRegion: MKCoordinateRegion { get }
}

Declaration
From
var mapItems: [AnyObject]! { get }
To
var mapItems: [MKMapItem] { get }

Modified MKMapCamera
Declaration
From
class MKMapCamera : NSObject, NSSecureCoding, NSCoding, NSCopying {
    var centerCoordinate: CLLocationCoordinate2D
    var heading: CLLocationDirection
    var pitch: CGFloat
    var altitude: CLLocationDistance
    convenience init!()
    class func camera() -> Self!
    convenience init!(lookingAtCenterCoordinate centerCoordinate: CLLocationCoordinate2D, fromEyeCoordinate eyeCoordinate: CLLocationCoordinate2D, eyeAltitude eyeAltitude: CLLocationDistance)
    class func cameraLookingAtCenterCoordinate(_ centerCoordinate: CLLocationCoordinate2D, fromEyeCoordinate eyeCoordinate: CLLocationCoordinate2D, eyeAltitude eyeAltitude: CLLocationDistance) -> Self!
}
To
class MKMapCamera : NSObject, NSSecureCoding, NSCoding, NSCopying {
    var centerCoordinate: CLLocationCoordinate2D
    var heading: CLLocationDirection
    var pitch: CGFloat
    var altitude: CLLocationDistance
    convenience init()
    class func camera() -> Self
    convenience init(lookingAtCenterCoordinate centerCoordinate: CLLocationCoordinate2D, fromEyeCoordinate eyeCoordinate: CLLocationCoordinate2D, eyeAltitude eyeAltitude: CLLocationDistance)
    class func cameraLookingAtCenterCoordinate(_ centerCoordinate: CLLocationCoordinate2D, fromEyeCoordinate eyeCoordinate: CLLocationCoordinate2D, eyeAltitude eyeAltitude: CLLocationDistance) -> Self
    convenience init(lookingAtCenterCoordinate centerCoordinate: CLLocationCoordinate2D, fromDistance distance: CLLocationDistance, pitch pitch: CGFloat, heading heading: CLLocationDirection)
    class func cameraLookingAtCenterCoordinate(_ centerCoordinate: CLLocationCoordinate2D, fromDistance distance: CLLocationDistance, pitch pitch: CGFloat, heading heading: CLLocationDirection) -> Self
}

Declaration
From
convenience init!(lookingAtCenterCoordinate centerCoordinate: CLLocationCoordinate2D, fromEyeCoordinate eyeCoordinate: CLLocationCoordinate2D, eyeAltitude eyeAltitude: CLLocationDistance)
To
convenience init(lookingAtCenterCoordinate centerCoordinate: CLLocationCoordinate2D, fromEyeCoordinate eyeCoordinate: CLLocationCoordinate2D, eyeAltitude eyeAltitude: CLLocationDistance)

Modified MKMapItem
Declaration
From
class MKMapItem : NSObject {
    var placemark: MKPlacemark! { get }
    var isCurrentLocation: Bool { get }
    var name: String!
    var phoneNumber: String!
    var url: NSURL!
    class func mapItemForCurrentLocation() -> MKMapItem!
    init!(placemark placemark: MKPlacemark!)
    func openInMapsWithLaunchOptions(_ launchOptions: [NSObject : AnyObject]!) -> Bool
    class func openMapsWithItems(_ mapItems: [AnyObject]!, launchOptions launchOptions: [NSObject : AnyObject]!) -> Bool
}
To
class MKMapItem : NSObject {
    var placemark: MKPlacemark { get }
    var isCurrentLocation: Bool { get }
    var name: String?
    var phoneNumber: String?
    var url: NSURL?
    @NSCopying var timeZone: NSTimeZone?
    class func mapItemForCurrentLocation() -> MKMapItem
    init(placemark placemark: MKPlacemark)
    func openInMapsWithLaunchOptions(_ launchOptions: [String : AnyObject]?) -> Bool
    class func openMapsWithItems(_ mapItems: [MKMapItem], launchOptions launchOptions: [String : AnyObject]?) -> Bool
}

Declaration
From
init!(placemark placemark: MKPlacemark!)
To
init(placemark placemark: MKPlacemark)

Declaration
From
class func mapItemForCurrentLocation() -> MKMapItem!
To
class func mapItemForCurrentLocation() -> MKMapItem

Declaration
From
var name: String!
To
var name: String?

Declaration
From
func openInMapsWithLaunchOptions(_ launchOptions: [NSObject : AnyObject]!) -> Bool
To
func openInMapsWithLaunchOptions(_ launchOptions: [String : AnyObject]?) -> Bool

Declaration
From
class func openMapsWithItems(_ mapItems: [AnyObject]!, launchOptions launchOptions: [NSObject : AnyObject]!) -> Bool
To
class func openMapsWithItems(_ mapItems: [MKMapItem], launchOptions launchOptions: [String : AnyObject]?) -> Bool

Declaration
From
var phoneNumber: String!
To
var phoneNumber: String?

Declaration
From
var placemark: MKPlacemark! { get }
To
var placemark: MKPlacemark { get }

Modified MKMapItem.url
Declaration
From
var url: NSURL!
To
var url: NSURL?

Modified MKMapSnapshot
Declaration
From
class MKMapSnapshot : NSObject {
    var image: UIImage! { get }
    func pointForCoordinate(_ coordinate: CLLocationCoordinate2D) -> CGPoint
}
To
class MKMapSnapshot : NSObject {
    var image: UIImage { get }
    func pointForCoordinate(_ coordinate: CLLocationCoordinate2D) -> CGPoint
}

Declaration
From
var image: UIImage! { get }
To
var image: UIImage { get }

Declaration
From
class MKMapSnapshotOptions : NSObject, NSCopying {
    @NSCopying var camera: MKMapCamera!
    var mapRect: MKMapRect
    var region: MKCoordinateRegion
    var mapType: MKMapType
    var showsPointsOfInterest: Bool
    var showsBuildings: Bool
    var size: CGSize
    var scale: CGFloat
}
To
class MKMapSnapshotOptions : NSObject, NSCopying {
    @NSCopying var camera: MKMapCamera
    var mapRect: MKMapRect
    var region: MKCoordinateRegion
    var mapType: MKMapType
    var showsPointsOfInterest: Bool
    var showsBuildings: Bool
    var size: CGSize
    var scale: CGFloat
}

Declaration
From
@NSCopying var camera: MKMapCamera!
To
@NSCopying var camera: MKMapCamera

Declaration
From
class MKMapSnapshotter : NSObject {
    init!(options options: MKMapSnapshotOptions!)
    func startWithCompletionHandler(_ completionHandler: MKMapSnapshotCompletionHandler!)
    func startWithQueue(_ queue: dispatch_queue_t!, completionHandler completionHandler: MKMapSnapshotCompletionHandler!)
    func cancel()
    var loading: Bool { get }
}
To
class MKMapSnapshotter : NSObject {
    init(options options: MKMapSnapshotOptions)
    func startWithCompletionHandler(_ completionHandler: MKMapSnapshotCompletionHandler)
    func startWithQueue(_ queue: dispatch_queue_t, completionHandler completionHandler: MKMapSnapshotCompletionHandler)
    func cancel()
    var loading: Bool { get }
}

Declaration
From
init!(options options: MKMapSnapshotOptions!)
To
init(options options: MKMapSnapshotOptions)

Declaration
From
func startWithCompletionHandler(_ completionHandler: MKMapSnapshotCompletionHandler!)
To
func startWithCompletionHandler(_ completionHandler: MKMapSnapshotCompletionHandler)

Declaration
From
func startWithQueue(_ queue: dispatch_queue_t!, completionHandler completionHandler: MKMapSnapshotCompletionHandler!)
To
func startWithQueue(_ queue: dispatch_queue_t, completionHandler completionHandler: MKMapSnapshotCompletionHandler)

DeclarationRaw Value Type
From
enum MKMapType : UInt {
    case Standard
    case Satellite
    case Hybrid
}
--
To
enum MKMapType : UInt {
    case Standard
    case Satellite
    case Hybrid
    case SatelliteFlyover
    case HybridFlyover
}
UInt

Modified MKMapView
Declaration
From
class MKMapView : UIView, NSCoding {
    weak var delegate: MKMapViewDelegate!
    var mapType: MKMapType
    var region: MKCoordinateRegion
    func setRegion(_ region: MKCoordinateRegion, animated animated: Bool)
    var centerCoordinate: CLLocationCoordinate2D
    func setCenterCoordinate(_ coordinate: CLLocationCoordinate2D, animated animated: Bool)
    func regionThatFits(_ region: MKCoordinateRegion) -> MKCoordinateRegion
    var visibleMapRect: MKMapRect
    func setVisibleMapRect(_ mapRect: MKMapRect, animated animate: Bool)
    func mapRectThatFits(_ mapRect: MKMapRect) -> MKMapRect
    func setVisibleMapRect(_ mapRect: MKMapRect, edgePadding insets: UIEdgeInsets, animated animate: Bool)
    func mapRectThatFits(_ mapRect: MKMapRect, edgePadding insets: UIEdgeInsets) -> MKMapRect
    @NSCopying var camera: MKMapCamera!
    func setCamera(_ camera: MKMapCamera!, animated animated: Bool)
    func convertCoordinate(_ coordinate: CLLocationCoordinate2D, toPointToView view: UIView!) -> CGPoint
    func convertPoint(_ point: CGPoint, toCoordinateFromView view: UIView!) -> CLLocationCoordinate2D
    func convertRegion(_ region: MKCoordinateRegion, toRectToView view: UIView!) -> CGRect
    func convertRect(_ rect: CGRect, toRegionFromView view: UIView!) -> MKCoordinateRegion
    var zoomEnabled: Bool
    var scrollEnabled: Bool
    var rotateEnabled: Bool
    var pitchEnabled: Bool
    var showsPointsOfInterest: Bool
    var showsBuildings: Bool
    var showsUserLocation: Bool
    var userLocation: MKUserLocation! { get }
    var userTrackingMode: MKUserTrackingMode
    func setUserTrackingMode(_ mode: MKUserTrackingMode, animated animated: Bool)
    var userLocationVisible: Bool { get }
    func addAnnotation(_ annotation: MKAnnotation!)
    func addAnnotations(_ annotations: [AnyObject]!)
    func removeAnnotation(_ annotation: MKAnnotation!)
    func removeAnnotations(_ annotations: [AnyObject]!)
    var annotations: [AnyObject]! { get }
    func annotationsInMapRect(_ mapRect: MKMapRect) -> Set<NSObject>!
    func viewForAnnotation(_ annotation: MKAnnotation!) -> MKAnnotationView!
    func dequeueReusableAnnotationViewWithIdentifier(_ identifier: String!) -> MKAnnotationView!
    func selectAnnotation(_ annotation: MKAnnotation!, animated animated: Bool)
    func deselectAnnotation(_ annotation: MKAnnotation!, animated animated: Bool)
    var selectedAnnotations: [AnyObject]!
    var annotationVisibleRect: CGRect { get }
    func showAnnotations(_ annotations: [AnyObject]!, animated animated: Bool)
}
extension MKMapView {
    func addOverlay(_ overlay: MKOverlay!, level level: MKOverlayLevel)
    func addOverlays(_ overlays: [AnyObject]!, level level: MKOverlayLevel)
    func removeOverlay(_ overlay: MKOverlay!)
    func removeOverlays(_ overlays: [AnyObject]!)
    func insertOverlay(_ overlay: MKOverlay!, atIndex index: Int, level level: MKOverlayLevel)
    func insertOverlay(_ overlay: MKOverlay!, aboveOverlay sibling: MKOverlay!)
    func insertOverlay(_ overlay: MKOverlay!, belowOverlay sibling: MKOverlay!)
    func exchangeOverlay(_ overlay1: MKOverlay!, withOverlay overlay2: MKOverlay!)
    var overlays: [AnyObject]! { get }
    func overlaysInLevel(_ level: MKOverlayLevel) -> [AnyObject]!
    func rendererForOverlay(_ overlay: MKOverlay!) -> MKOverlayRenderer!
    func viewForOverlay(_ overlay: MKOverlay!) -> MKOverlayView!
    func addOverlay(_ overlay: MKOverlay!)
    func addOverlays(_ overlays: [AnyObject]!)
    func insertOverlay(_ overlay: MKOverlay!, atIndex index: Int)
    func exchangeOverlayAtIndex(_ index1: Int, withOverlayAtIndex index2: Int)
}
To
class MKMapView : UIView {
    weak var delegate: MKMapViewDelegate?
    var mapType: MKMapType
    var region: MKCoordinateRegion
    func setRegion(_ region: MKCoordinateRegion, animated animated: Bool)
    var centerCoordinate: CLLocationCoordinate2D
    func setCenterCoordinate(_ coordinate: CLLocationCoordinate2D, animated animated: Bool)
    func regionThatFits(_ region: MKCoordinateRegion) -> MKCoordinateRegion
    var visibleMapRect: MKMapRect
    func setVisibleMapRect(_ mapRect: MKMapRect, animated animate: Bool)
    func mapRectThatFits(_ mapRect: MKMapRect) -> MKMapRect
    func _handleSelectionAtPoint(_ locationInView: CGPoint)
    func setVisibleMapRect(_ mapRect: MKMapRect, edgePadding insets: UIEdgeInsets, animated animate: Bool)
    func mapRectThatFits(_ mapRect: MKMapRect, edgePadding insets: UIEdgeInsets) -> MKMapRect
    @NSCopying var camera: MKMapCamera
    func setCamera(_ camera: MKMapCamera, animated animated: Bool)
    func convertCoordinate(_ coordinate: CLLocationCoordinate2D, toPointToView view: UIView?) -> CGPoint
    func convertPoint(_ point: CGPoint, toCoordinateFromView view: UIView?) -> CLLocationCoordinate2D
    func convertRegion(_ region: MKCoordinateRegion, toRectToView view: UIView?) -> CGRect
    func convertRect(_ rect: CGRect, toRegionFromView view: UIView?) -> MKCoordinateRegion
    var zoomEnabled: Bool
    var scrollEnabled: Bool
    var rotateEnabled: Bool
    var pitchEnabled: Bool
    var showsCompass: Bool
    var showsScale: Bool
    var showsPointsOfInterest: Bool
    var showsBuildings: Bool
    var showsTraffic: Bool
    var showsUserLocation: Bool
    var userLocation: MKUserLocation { get }
    var userTrackingMode: MKUserTrackingMode
    func setUserTrackingMode(_ mode: MKUserTrackingMode, animated animated: Bool)
    var userLocationVisible: Bool { get }
    func addAnnotation(_ annotation: MKAnnotation)
    func addAnnotations(_ annotations: [MKAnnotation])
    func removeAnnotation(_ annotation: MKAnnotation)
    func removeAnnotations(_ annotations: [MKAnnotation])
    var annotations: [MKAnnotation] { get }
    func annotationsInMapRect(_ mapRect: MKMapRect) -> Set<NSObject>
    func viewForAnnotation(_ annotation: MKAnnotation) -> MKAnnotationView?
    func dequeueReusableAnnotationViewWithIdentifier(_ identifier: String) -> MKAnnotationView?
    func selectAnnotation(_ annotation: MKAnnotation, animated animated: Bool)
    func deselectAnnotation(_ annotation: MKAnnotation?, animated animated: Bool)
    var selectedAnnotations: [MKAnnotation]
    var annotationVisibleRect: CGRect { get }
    func showAnnotations(_ annotations: [MKAnnotation], animated animated: Bool)
}
extension MKMapView {
    func addOverlay(_ overlay: MKOverlay, level level: MKOverlayLevel)
    func addOverlays(_ overlays: [MKOverlay], level level: MKOverlayLevel)
    func removeOverlay(_ overlay: MKOverlay)
    func removeOverlays(_ overlays: [MKOverlay])
    func insertOverlay(_ overlay: MKOverlay, atIndex index: Int, level level: MKOverlayLevel)
    func insertOverlay(_ overlay: MKOverlay, aboveOverlay sibling: MKOverlay)
    func insertOverlay(_ overlay: MKOverlay, belowOverlay sibling: MKOverlay)
    func exchangeOverlay(_ overlay1: MKOverlay, withOverlay overlay2: MKOverlay)
    var overlays: [MKOverlay] { get }
    func overlaysInLevel(_ level: MKOverlayLevel) -> [MKOverlay]
    func rendererForOverlay(_ overlay: MKOverlay) -> MKOverlayRenderer?
    func viewForOverlay(_ overlay: MKOverlay) -> MKOverlayView
    func addOverlay(_ overlay: MKOverlay)
    func addOverlays(_ overlays: [MKOverlay])
    func insertOverlay(_ overlay: MKOverlay, atIndex index: Int)
    func exchangeOverlayAtIndex(_ index1: Int, withOverlayAtIndex index2: Int)
}

Declaration
From
func addAnnotation(_ annotation: MKAnnotation!)
To
func addAnnotation(_ annotation: MKAnnotation)

Declaration
From
func addAnnotations(_ annotations: [AnyObject]!)
To
func addAnnotations(_ annotations: [MKAnnotation])

Declaration
From
func addOverlay(_ overlay: MKOverlay!)
To
func addOverlay(_ overlay: MKOverlay)

Declaration
From
func addOverlay(_ overlay: MKOverlay!, level level: MKOverlayLevel)
To
func addOverlay(_ overlay: MKOverlay, level level: MKOverlayLevel)

Declaration
From
func addOverlays(_ overlays: [AnyObject]!)
To
func addOverlays(_ overlays: [MKOverlay])

Declaration
From
func addOverlays(_ overlays: [AnyObject]!, level level: MKOverlayLevel)
To
func addOverlays(_ overlays: [MKOverlay], level level: MKOverlayLevel)

Declaration
From
var annotations: [AnyObject]! { get }
To
var annotations: [MKAnnotation] { get }

Declaration
From
func annotationsInMapRect(_ mapRect: MKMapRect) -> Set<NSObject>!
To
func annotationsInMapRect(_ mapRect: MKMapRect) -> Set<NSObject>

Declaration
From
@NSCopying var camera: MKMapCamera!
To
@NSCopying var camera: MKMapCamera

Declaration
From
func convertCoordinate(_ coordinate: CLLocationCoordinate2D, toPointToView view: UIView!) -> CGPoint
To
func convertCoordinate(_ coordinate: CLLocationCoordinate2D, toPointToView view: UIView?) -> CGPoint

Declaration
From
func convertPoint(_ point: CGPoint, toCoordinateFromView view: UIView!) -> CLLocationCoordinate2D
To
func convertPoint(_ point: CGPoint, toCoordinateFromView view: UIView?) -> CLLocationCoordinate2D

Declaration
From
func convertRect(_ rect: CGRect, toRegionFromView view: UIView!) -> MKCoordinateRegion
To
func convertRect(_ rect: CGRect, toRegionFromView view: UIView?) -> MKCoordinateRegion

Declaration
From
func convertRegion(_ region: MKCoordinateRegion, toRectToView view: UIView!) -> CGRect
To
func convertRegion(_ region: MKCoordinateRegion, toRectToView view: UIView?) -> CGRect

Declaration
From
weak var delegate: MKMapViewDelegate!
To
weak var delegate: MKMapViewDelegate?

Declaration
From
func dequeueReusableAnnotationViewWithIdentifier(_ identifier: String!) -> MKAnnotationView!
To
func dequeueReusableAnnotationViewWithIdentifier(_ identifier: String) -> MKAnnotationView?

Declaration
From
func deselectAnnotation(_ annotation: MKAnnotation!, animated animated: Bool)
To
func deselectAnnotation(_ annotation: MKAnnotation?, animated animated: Bool)

Declaration
From
func exchangeOverlay(_ overlay1: MKOverlay!, withOverlay overlay2: MKOverlay!)
To
func exchangeOverlay(_ overlay1: MKOverlay, withOverlay overlay2: MKOverlay)

Declaration
From
func insertOverlay(_ overlay: MKOverlay!, aboveOverlay sibling: MKOverlay!)
To
func insertOverlay(_ overlay: MKOverlay, aboveOverlay sibling: MKOverlay)

Declaration
From
func insertOverlay(_ overlay: MKOverlay!, atIndex index: Int)
To
func insertOverlay(_ overlay: MKOverlay, atIndex index: Int)

Declaration
From
func insertOverlay(_ overlay: MKOverlay!, atIndex index: Int, level level: MKOverlayLevel)
To
func insertOverlay(_ overlay: MKOverlay, atIndex index: Int, level level: MKOverlayLevel)

Declaration
From
func insertOverlay(_ overlay: MKOverlay!, belowOverlay sibling: MKOverlay!)
To
func insertOverlay(_ overlay: MKOverlay, belowOverlay sibling: MKOverlay)

Declaration
From
var overlays: [AnyObject]! { get }
To
var overlays: [MKOverlay] { get }

Declaration
From
func overlaysInLevel(_ level: MKOverlayLevel) -> [AnyObject]!
To
func overlaysInLevel(_ level: MKOverlayLevel) -> [MKOverlay]

Declaration
From
func removeAnnotation(_ annotation: MKAnnotation!)
To
func removeAnnotation(_ annotation: MKAnnotation)

Declaration
From
func removeAnnotations(_ annotations: [AnyObject]!)
To
func removeAnnotations(_ annotations: [MKAnnotation])

Declaration
From
func removeOverlay(_ overlay: MKOverlay!)
To
func removeOverlay(_ overlay: MKOverlay)

Declaration
From
func removeOverlays(_ overlays: [AnyObject]!)
To
func removeOverlays(_ overlays: [MKOverlay])

Declaration
From
func rendererForOverlay(_ overlay: MKOverlay!) -> MKOverlayRenderer!
To
func rendererForOverlay(_ overlay: MKOverlay) -> MKOverlayRenderer?

Declaration
From
func selectAnnotation(_ annotation: MKAnnotation!, animated animated: Bool)
To
func selectAnnotation(_ annotation: MKAnnotation, animated animated: Bool)

Declaration
From
var selectedAnnotations: [AnyObject]!
To
var selectedAnnotations: [MKAnnotation]

Declaration
From
func setCamera(_ camera: MKMapCamera!, animated animated: Bool)
To
func setCamera(_ camera: MKMapCamera, animated animated: Bool)

Declaration
From
func showAnnotations(_ annotations: [AnyObject]!, animated animated: Bool)
To
func showAnnotations(_ annotations: [MKAnnotation], animated animated: Bool)

Declaration
From
var userLocation: MKUserLocation! { get }
To
var userLocation: MKUserLocation { get }

Declaration
From
func viewForAnnotation(_ annotation: MKAnnotation!) -> MKAnnotationView!
To
func viewForAnnotation(_ annotation: MKAnnotation) -> MKAnnotationView?

Declaration
From
protocol MKMapViewDelegate : NSObjectProtocol {
    optional func mapView(_ mapView: MKMapView!, regionWillChangeAnimated animated: Bool)
    optional func mapView(_ mapView: MKMapView!, regionDidChangeAnimated animated: Bool)
    optional func mapViewWillStartLoadingMap(_ mapView: MKMapView!)
    optional func mapViewDidFinishLoadingMap(_ mapView: MKMapView!)
    optional func mapViewDidFailLoadingMap(_ mapView: MKMapView!, withError error: NSError!)
    optional func mapViewWillStartRenderingMap(_ mapView: MKMapView!)
    optional func mapViewDidFinishRenderingMap(_ mapView: MKMapView!, fullyRendered fullyRendered: Bool)
    optional func mapView(_ mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView!
    optional func mapView(_ mapView: MKMapView!, didAddAnnotationViews views: [AnyObject]!)
    optional func mapView(_ mapView: MKMapView!, annotationView view: MKAnnotationView!, calloutAccessoryControlTapped control: UIControl!)
    optional func mapView(_ mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!)
    optional func mapView(_ mapView: MKMapView!, didDeselectAnnotationView view: MKAnnotationView!)
    optional func mapViewWillStartLocatingUser(_ mapView: MKMapView!)
    optional func mapViewDidStopLocatingUser(_ mapView: MKMapView!)
    optional func mapView(_ mapView: MKMapView!, didUpdateUserLocation userLocation: MKUserLocation!)
    optional func mapView(_ mapView: MKMapView!, didFailToLocateUserWithError error: NSError!)
    optional func mapView(_ mapView: MKMapView!, annotationView view: MKAnnotationView!, didChangeDragState newState: MKAnnotationViewDragState, fromOldState oldState: MKAnnotationViewDragState)
    optional func mapView(_ mapView: MKMapView!, didChangeUserTrackingMode mode: MKUserTrackingMode, animated animated: Bool)
    optional func mapView(_ mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer!
    optional func mapView(_ mapView: MKMapView!, didAddOverlayRenderers renderers: [AnyObject]!)
    optional func mapView(_ mapView: MKMapView!, viewForOverlay overlay: MKOverlay!) -> MKOverlayView!
    optional func mapView(_ mapView: MKMapView!, didAddOverlayViews overlayViews: [AnyObject]!)
}
To
protocol MKMapViewDelegate : NSObjectProtocol {
    optional func mapView(_ mapView: MKMapView, regionWillChangeAnimated animated: Bool)
    optional func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool)
    optional func mapViewWillStartLoadingMap(_ mapView: MKMapView)
    optional func mapViewDidFinishLoadingMap(_ mapView: MKMapView)
    optional func mapViewDidFailLoadingMap(_ mapView: MKMapView, withError error: NSError)
    optional func mapViewWillStartRenderingMap(_ mapView: MKMapView)
    optional func mapViewDidFinishRenderingMap(_ mapView: MKMapView, fullyRendered fullyRendered: Bool)
    optional func mapView(_ mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView?
    optional func mapView(_ mapView: MKMapView, didAddAnnotationViews views: [MKAnnotationView])
    optional func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl)
    optional func mapView(_ mapView: MKMapView, didSelectAnnotationView view: MKAnnotationView)
    optional func mapView(_ mapView: MKMapView, didDeselectAnnotationView view: MKAnnotationView)
    optional func mapViewWillStartLocatingUser(_ mapView: MKMapView)
    optional func mapViewDidStopLocatingUser(_ mapView: MKMapView)
    optional func mapView(_ mapView: MKMapView, didUpdateUserLocation userLocation: MKUserLocation)
    optional func mapView(_ mapView: MKMapView, didFailToLocateUserWithError error: NSError)
    optional func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, didChangeDragState newState: MKAnnotationViewDragState, fromOldState oldState: MKAnnotationViewDragState)
    optional func mapView(_ mapView: MKMapView, didChangeUserTrackingMode mode: MKUserTrackingMode, animated animated: Bool)
    optional func mapView(_ mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer
    optional func mapView(_ mapView: MKMapView, didAddOverlayRenderers renderers: [MKOverlayRenderer])
    optional func mapView(_ mapView: MKMapView, viewForOverlay overlay: MKOverlay) -> MKOverlayView
    optional func mapView(_ mapView: MKMapView, didAddOverlayViews overlayViews: [AnyObject])
}

DeclarationIntroduction
From
optional func mapView(_ mapView: MKMapView!, annotationView view: MKAnnotationView!, calloutAccessoryControlTapped control: UIControl!)
iOS 8.0
To
optional func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl)
iOS 3.0

Declaration
From
optional func mapView(_ mapView: MKMapView!, annotationView view: MKAnnotationView!, didChangeDragState newState: MKAnnotationViewDragState, fromOldState oldState: MKAnnotationViewDragState)
To
optional func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, didChangeDragState newState: MKAnnotationViewDragState, fromOldState oldState: MKAnnotationViewDragState)

DeclarationIntroduction
From
optional func mapView(_ mapView: MKMapView!, didAddAnnotationViews views: [AnyObject]!)
iOS 8.0
To
optional func mapView(_ mapView: MKMapView, didAddAnnotationViews views: [MKAnnotationView])
iOS 3.0

Declaration
From
optional func mapView(_ mapView: MKMapView!, didAddOverlayRenderers renderers: [AnyObject]!)
To
optional func mapView(_ mapView: MKMapView, didAddOverlayRenderers renderers: [MKOverlayRenderer])

Declaration
From
optional func mapView(_ mapView: MKMapView!, didChangeUserTrackingMode mode: MKUserTrackingMode, animated animated: Bool)
To
optional func mapView(_ mapView: MKMapView, didChangeUserTrackingMode mode: MKUserTrackingMode, animated animated: Bool)

Declaration
From
optional func mapView(_ mapView: MKMapView!, didDeselectAnnotationView view: MKAnnotationView!)
To
optional func mapView(_ mapView: MKMapView, didDeselectAnnotationView view: MKAnnotationView)

Declaration
From
optional func mapView(_ mapView: MKMapView!, didFailToLocateUserWithError error: NSError!)
To
optional func mapView(_ mapView: MKMapView, didFailToLocateUserWithError error: NSError)

Declaration
From
optional func mapView(_ mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!)
To
optional func mapView(_ mapView: MKMapView, didSelectAnnotationView view: MKAnnotationView)

Declaration
From
optional func mapView(_ mapView: MKMapView!, didUpdateUserLocation userLocation: MKUserLocation!)
To
optional func mapView(_ mapView: MKMapView, didUpdateUserLocation userLocation: MKUserLocation)

DeclarationIntroduction
From
optional func mapView(_ mapView: MKMapView!, regionDidChangeAnimated animated: Bool)
iOS 8.0
To
optional func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool)
iOS 3.0

DeclarationIntroduction
From
optional func mapView(_ mapView: MKMapView!, regionWillChangeAnimated animated: Bool)
iOS 8.0
To
optional func mapView(_ mapView: MKMapView, regionWillChangeAnimated animated: Bool)
iOS 3.0

Declaration
From
optional func mapView(_ mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer!
To
optional func mapView(_ mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer

DeclarationIntroduction
From
optional func mapView(_ mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView!
iOS 8.0
To
optional func mapView(_ mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView?
iOS 3.0

DeclarationIntroduction
From
optional func mapViewDidFailLoadingMap(_ mapView: MKMapView!, withError error: NSError!)
iOS 8.0
To
optional func mapViewDidFailLoadingMap(_ mapView: MKMapView, withError error: NSError)
iOS 3.0

DeclarationIntroduction
From
optional func mapViewDidFinishLoadingMap(_ mapView: MKMapView!)
iOS 8.0
To
optional func mapViewDidFinishLoadingMap(_ mapView: MKMapView)
iOS 3.0

Declaration
From
optional func mapViewDidFinishRenderingMap(_ mapView: MKMapView!, fullyRendered fullyRendered: Bool)
To
optional func mapViewDidFinishRenderingMap(_ mapView: MKMapView, fullyRendered fullyRendered: Bool)

Declaration
From
optional func mapViewDidStopLocatingUser(_ mapView: MKMapView!)
To
optional func mapViewDidStopLocatingUser(_ mapView: MKMapView)

DeclarationIntroduction
From
optional func mapViewWillStartLoadingMap(_ mapView: MKMapView!)
iOS 8.0
To
optional func mapViewWillStartLoadingMap(_ mapView: MKMapView)
iOS 3.0

Declaration
From
optional func mapViewWillStartLocatingUser(_ mapView: MKMapView!)
To
optional func mapViewWillStartLocatingUser(_ mapView: MKMapView)

Declaration
From
optional func mapViewWillStartRenderingMap(_ mapView: MKMapView!)
To
optional func mapViewWillStartRenderingMap(_ mapView: MKMapView)

Raw Value Type
From--
ToInt

Declaration
From
class MKOverlayPathRenderer : MKOverlayRenderer {
    var fillColor: UIColor!
    var strokeColor: UIColor!
    var lineWidth: CGFloat
    var lineJoin: CGLineJoin
    var lineCap: CGLineCap
    var miterLimit: CGFloat
    var lineDashPhase: CGFloat
    var lineDashPattern: [AnyObject]!
    func createPath()
    var path: CGPath!
    func invalidatePath()
    func applyStrokePropertiesToContext(_ context: CGContext!, atZoomScale zoomScale: MKZoomScale)
    func applyFillPropertiesToContext(_ context: CGContext!, atZoomScale zoomScale: MKZoomScale)
    func strokePath(_ path: CGPath!, inContext context: CGContext!)
    func fillPath(_ path: CGPath!, inContext context: CGContext!)
}
To
class MKOverlayPathRenderer : MKOverlayRenderer {
    var fillColor: UIColor?
    var strokeColor: UIColor?
    var lineWidth: CGFloat
    var lineJoin: CGLineJoin
    var lineCap: CGLineCap
    var miterLimit: CGFloat
    var lineDashPhase: CGFloat
    var lineDashPattern: [NSNumber]?
    func createPath()
    var path: CGPath!
    func invalidatePath()
    func applyStrokePropertiesToContext(_ context: CGContext, atZoomScale zoomScale: MKZoomScale)
    func applyFillPropertiesToContext(_ context: CGContext, atZoomScale zoomScale: MKZoomScale)
    func strokePath(_ path: CGPath, inContext context: CGContext)
    func fillPath(_ path: CGPath, inContext context: CGContext)
}

Declaration
From
func applyFillPropertiesToContext(_ context: CGContext!, atZoomScale zoomScale: MKZoomScale)
To
func applyFillPropertiesToContext(_ context: CGContext, atZoomScale zoomScale: MKZoomScale)

Declaration
From
func applyStrokePropertiesToContext(_ context: CGContext!, atZoomScale zoomScale: MKZoomScale)
To
func applyStrokePropertiesToContext(_ context: CGContext, atZoomScale zoomScale: MKZoomScale)

Declaration
From
var fillColor: UIColor!
To
var fillColor: UIColor?

Declaration
From
func fillPath(_ path: CGPath!, inContext context: CGContext!)
To
func fillPath(_ path: CGPath, inContext context: CGContext)

Declaration
From
var lineDashPattern: [AnyObject]!
To
var lineDashPattern: [NSNumber]?

Declaration
From
var strokeColor: UIColor!
To
var strokeColor: UIColor?

Declaration
From
func strokePath(_ path: CGPath!, inContext context: CGContext!)
To
func strokePath(_ path: CGPath, inContext context: CGContext)

Declaration
From
class MKOverlayRenderer : NSObject {
    init!(overlay overlay: MKOverlay!)
    var overlay: MKOverlay! { get }
    func pointForMapPoint(_ mapPoint: MKMapPoint) -> CGPoint
    func mapPointForPoint(_ point: CGPoint) -> MKMapPoint
    func rectForMapRect(_ mapRect: MKMapRect) -> CGRect
    func mapRectForRect(_ rect: CGRect) -> MKMapRect
    func canDrawMapRect(_ mapRect: MKMapRect, zoomScale zoomScale: MKZoomScale) -> Bool
    func drawMapRect(_ mapRect: MKMapRect, zoomScale zoomScale: MKZoomScale, inContext context: CGContext!)
    func setNeedsDisplay()
    func setNeedsDisplayInMapRect(_ mapRect: MKMapRect)
    func setNeedsDisplayInMapRect(_ mapRect: MKMapRect, zoomScale zoomScale: MKZoomScale)
    var alpha: CGFloat
    var contentScaleFactor: CGFloat { get }
}
To
class MKOverlayRenderer : NSObject {
    init(overlay overlay: MKOverlay)
    var overlay: MKOverlay { get }
    func pointForMapPoint(_ mapPoint: MKMapPoint) -> CGPoint
    func mapPointForPoint(_ point: CGPoint) -> MKMapPoint
    func rectForMapRect(_ mapRect: MKMapRect) -> CGRect
    func mapRectForRect(_ rect: CGRect) -> MKMapRect
    func canDrawMapRect(_ mapRect: MKMapRect, zoomScale zoomScale: MKZoomScale) -> Bool
    func drawMapRect(_ mapRect: MKMapRect, zoomScale zoomScale: MKZoomScale, inContext context: CGContext)
    func setNeedsDisplay()
    func setNeedsDisplayInMapRect(_ mapRect: MKMapRect)
    func setNeedsDisplayInMapRect(_ mapRect: MKMapRect, zoomScale zoomScale: MKZoomScale)
    var alpha: CGFloat
    var contentScaleFactor: CGFloat { get }
}

Declaration
From
func drawMapRect(_ mapRect: MKMapRect, zoomScale zoomScale: MKZoomScale, inContext context: CGContext!)
To
func drawMapRect(_ mapRect: MKMapRect, zoomScale zoomScale: MKZoomScale, inContext context: CGContext)

Declaration
From
init!(overlay overlay: MKOverlay!)
To
init(overlay overlay: MKOverlay)

Declaration
From
var overlay: MKOverlay! { get }
To
var overlay: MKOverlay { get }

DeprecationRaw Value Type
From----
ToiOS 9.0UInt

Declaration
From
class MKPinAnnotationView : MKAnnotationView {
    var pinColor: MKPinAnnotationColor
    var animatesDrop: Bool
}
To
class MKPinAnnotationView : MKAnnotationView {
    class func redPinColor() -> UIColor
    class func greenPinColor() -> UIColor
    class func purplePinColor() -> UIColor
    var pinTintColor: UIColor!
    var animatesDrop: Bool
    var pinColor: MKPinAnnotationColor
}

IntroductionDeprecation
FromiOS 8.0--
ToiOS 3.0iOS 9.0

Modified MKPlacemark
Declaration
From
class MKPlacemark : CLPlacemark, MKAnnotation, NSObjectProtocol {
    init!(coordinate coordinate: CLLocationCoordinate2D, addressDictionary addressDictionary: [NSObject : AnyObject]!)
    var countryCode: String! { get }
}
To
class MKPlacemark : CLPlacemark, MKAnnotation {
    init(coordinate coordinate: CLLocationCoordinate2D, addressDictionary addressDictionary: [String : AnyObject]?)
    var countryCode: String? { get }
}

Declaration
From
var countryCode: String! { get }
To
var countryCode: String? { get }

Declaration
From
init!(coordinate coordinate: CLLocationCoordinate2D, addressDictionary addressDictionary: [NSObject : AnyObject]!)
To
init(coordinate coordinate: CLLocationCoordinate2D, addressDictionary addressDictionary: [String : AnyObject]?)

Modified MKPolygon
Declaration
From
class MKPolygon : MKMultiPoint, MKOverlay, MKAnnotation, NSObjectProtocol {
    convenience init!(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
    class func polygonWithPoints(_ points: UnsafeMutablePointer<MKMapPoint>, count count: Int) -> Self!
    convenience init!(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int, interiorPolygons interiorPolygons: [AnyObject]!)
    class func polygonWithPoints(_ points: UnsafeMutablePointer<MKMapPoint>, count count: Int, interiorPolygons interiorPolygons: [AnyObject]!) -> Self!
    convenience init!(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)
    class func polygonWithCoordinates(_ coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int) -> Self!
    convenience init!(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int, interiorPolygons interiorPolygons: [AnyObject]!)
    class func polygonWithCoordinates(_ coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int, interiorPolygons interiorPolygons: [AnyObject]!) -> Self!
    var interiorPolygons: [AnyObject]! { get }
}
To
class MKPolygon : MKMultiPoint, MKOverlay {
    convenience init(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
    class func polygonWithPoints(_ points: UnsafeMutablePointer<MKMapPoint>, count count: Int) -> Self
    convenience init(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int, interiorPolygons interiorPolygons: [MKPolygon]?)
    class func polygonWithPoints(_ points: UnsafeMutablePointer<MKMapPoint>, count count: Int, interiorPolygons interiorPolygons: [MKPolygon]?) -> Self
    convenience init(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)
    class func polygonWithCoordinates(_ coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int) -> Self
    convenience init(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int, interiorPolygons interiorPolygons: [MKPolygon]?)
    class func polygonWithCoordinates(_ coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int, interiorPolygons interiorPolygons: [MKPolygon]?) -> Self
    var interiorPolygons: [MKPolygon]? { get }
}

Declaration
From
convenience init!(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)
To
convenience init(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)

Declaration
From
convenience init!(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int, interiorPolygons interiorPolygons: [AnyObject]!)
To
convenience init(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int, interiorPolygons interiorPolygons: [MKPolygon]?)

Declaration
From
convenience init!(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
To
convenience init(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)

Declaration
From
convenience init!(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int, interiorPolygons interiorPolygons: [AnyObject]!)
To
convenience init(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int, interiorPolygons interiorPolygons: [MKPolygon]?)

Declaration
From
var interiorPolygons: [AnyObject]! { get }
To
var interiorPolygons: [MKPolygon]? { get }

Declaration
From
class MKPolygonRenderer : MKOverlayPathRenderer {
    init!(polygon polygon: MKPolygon!)
    var polygon: MKPolygon! { get }
}
To
class MKPolygonRenderer : MKOverlayPathRenderer {
    init(polygon polygon: MKPolygon)
    var polygon: MKPolygon { get }
}

Declaration
From
init!(polygon polygon: MKPolygon!)
To
init(polygon polygon: MKPolygon)

Declaration
From
var polygon: MKPolygon! { get }
To
var polygon: MKPolygon { get }

Modified MKPolyline
Declaration
From
class MKPolyline : MKMultiPoint, MKOverlay, MKAnnotation, NSObjectProtocol {
    convenience init!(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
    class func polylineWithPoints(_ points: UnsafeMutablePointer<MKMapPoint>, count count: Int) -> Self!
    convenience init!(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)
    class func polylineWithCoordinates(_ coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int) -> Self!
}
To
class MKPolyline : MKMultiPoint, MKOverlay {
    convenience init(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
    class func polylineWithPoints(_ points: UnsafeMutablePointer<MKMapPoint>, count count: Int) -> Self
    convenience init(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)
    class func polylineWithCoordinates(_ coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int) -> Self
}

Declaration
From
convenience init!(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)
To
convenience init(coordinates coords: UnsafeMutablePointer<CLLocationCoordinate2D>, count count: Int)

Declaration
From
convenience init!(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)
To
convenience init(points points: UnsafeMutablePointer<MKMapPoint>, count count: Int)

Declaration
From
class MKPolylineRenderer : MKOverlayPathRenderer {
    init!(polyline polyline: MKPolyline!)
    var polyline: MKPolyline! { get }
}
To
class MKPolylineRenderer : MKOverlayPathRenderer {
    init(polyline polyline: MKPolyline)
    var polyline: MKPolyline { get }
}

Declaration
From
init!(polyline polyline: MKPolyline!)
To
init(polyline polyline: MKPolyline)

Declaration
From
var polyline: MKPolyline! { get }
To
var polyline: MKPolyline { get }

Modified MKRoute
Declaration
From
class MKRoute : NSObject {
    var name: String! { get }
    var advisoryNotices: [AnyObject]! { get }
    var distance: CLLocationDistance { get }
    var expectedTravelTime: NSTimeInterval { get }
    var transportType: MKDirectionsTransportType { get }
    var polyline: MKPolyline! { get }
    var steps: [AnyObject]! { get }
}
To
class MKRoute : NSObject {
    var name: String { get }
    var advisoryNotices: [String] { get }
    var distance: CLLocationDistance { get }
    var expectedTravelTime: NSTimeInterval { get }
    var transportType: MKDirectionsTransportType { get }
    var polyline: MKPolyline { get }
    var steps: [MKRouteStep] { get }
}

Declaration
From
var advisoryNotices: [AnyObject]! { get }
To
var advisoryNotices: [String] { get }

Modified MKRoute.name
Declaration
From
var name: String! { get }
To
var name: String { get }

Declaration
From
var polyline: MKPolyline! { get }
To
var polyline: MKPolyline { get }

Modified MKRoute.steps
Declaration
From
var steps: [AnyObject]! { get }
To
var steps: [MKRouteStep] { get }

Modified MKRouteStep
Declaration
From
class MKRouteStep : NSObject {
    var instructions: String! { get }
    var notice: String! { get }
    var polyline: MKPolyline! { get }
    var distance: CLLocationDistance { get }
    var transportType: MKDirectionsTransportType { get }
}
To
class MKRouteStep : NSObject {
    var instructions: String { get }
    var notice: String? { get }
    var polyline: MKPolyline { get }
    var distance: CLLocationDistance { get }
    var transportType: MKDirectionsTransportType { get }
}

Declaration
From
var instructions: String! { get }
To
var instructions: String { get }

Declaration
From
var notice: String! { get }
To
var notice: String? { get }

Declaration
From
var polyline: MKPolyline! { get }
To
var polyline: MKPolyline { get }

Modified MKShape
Declaration
From
class MKShape : NSObject, MKAnnotation, NSObjectProtocol {
    var title: String!
    var subtitle: String!
}
To
class MKShape : NSObject, MKAnnotation {
    var title: String?
    var subtitle: String?
}

Declaration
From
var subtitle: String!
To
var subtitle: String?

Modified MKShape.title
Declaration
From
var title: String!
To
var title: String?

Modified MKTileOverlay
Declaration
From
class MKTileOverlay : NSObject, MKOverlay, MKAnnotation, NSObjectProtocol {
    init!(URLTemplate URLTemplate: String!)
    var tileSize: CGSize
    var geometryFlipped: Bool
    var minimumZ: Int
    var maximumZ: Int
    var URLTemplate: String! { get }
    var canReplaceMapContent: Bool
}
extension MKTileOverlay {
    func URLForTilePath(_ path: MKTileOverlayPath) -> NSURL!
    func loadTileAtPath(_ path: MKTileOverlayPath, result result: ((NSData!, NSError!) -> Void)!)
}
To
class MKTileOverlay : NSObject, MKOverlay, MKAnnotation {
    init(URLTemplate URLTemplate: String?)
    var tileSize: CGSize
    var geometryFlipped: Bool
    var minimumZ: Int
    var maximumZ: Int
    var URLTemplate: String? { get }
    var canReplaceMapContent: Bool
}
extension MKTileOverlay {
    func URLForTilePath(_ path: MKTileOverlayPath) -> NSURL
    func loadTileAtPath(_ path: MKTileOverlayPath, result result: (NSData?, NSError?) -> Void)
}

Declaration
From
init!(URLTemplate URLTemplate: String!)
To
init(URLTemplate URLTemplate: String?)

Declaration
From
func loadTileAtPath(_ path: MKTileOverlayPath, result result: ((NSData!, NSError!) -> Void)!)
To
func loadTileAtPath(_ path: MKTileOverlayPath, result result: (NSData?, NSError?) -> Void)

Declaration
From
func URLForTilePath(_ path: MKTileOverlayPath) -> NSURL!
To
func URLForTilePath(_ path: MKTileOverlayPath) -> NSURL

Declaration
From
var URLTemplate: String! { get }
To
var URLTemplate: String? { get }

Declaration
From
class MKTileOverlayRenderer : MKOverlayRenderer {
    init!(tileOverlay overlay: MKTileOverlay!)
    func reloadData()
}
To
class MKTileOverlayRenderer : MKOverlayRenderer {
    init(tileOverlay overlay: MKTileOverlay)
    func reloadData()
}

Declaration
From
init!(tileOverlay overlay: MKTileOverlay!)
To
init(tileOverlay overlay: MKTileOverlay)

Declaration
From
class MKUserLocation : NSObject, MKAnnotation, NSObjectProtocol {
    var updating: Bool { get }
    var location: CLLocation! { get }
    var heading: CLHeading! { get }
    var title: String!
    var subtitle: String!
}
To
class MKUserLocation : NSObject, MKAnnotation {
    var updating: Bool { get }
    var location: CLLocation? { get }
    var heading: CLHeading? { get }
    var title: String?
    var subtitle: String?
}

Declaration
From
var heading: CLHeading! { get }
To
var heading: CLHeading? { get }

Declaration
From
var location: CLLocation! { get }
To
var location: CLLocation? { get }

Declaration
From
var subtitle: String!
To
var subtitle: String?

Declaration
From
var title: String!
To
var title: String?

Declaration
From
class MKUserTrackingBarButtonItem : UIBarButtonItem {
    init!(mapView mapView: MKMapView!)
    var mapView: MKMapView!
}
To
class MKUserTrackingBarButtonItem : UIBarButtonItem {
    init(mapView mapView: MKMapView?)
    var mapView: MKMapView?
}

Declaration
From
init!(mapView mapView: MKMapView!)
To
init(mapView mapView: MKMapView?)

Declaration
From
var mapView: MKMapView!
To
var mapView: MKMapView?

Raw Value Type
From--
ToInt

Declaration
From
init!(MKCoordinate coordinate: CLLocationCoordinate2D) -> NSValue
To
init(MKCoordinate coordinate: CLLocationCoordinate2D)

Declaration
From
init!(MKCoordinateSpan span: MKCoordinateSpan) -> NSValue
To
init(MKCoordinateSpan span: MKCoordinateSpan)

Declaration
From
typealias MKDirectionsHandler = (MKDirectionsResponse!, NSError!) -> Void
To
typealias MKDirectionsHandler = (MKDirectionsResponse?, NSError?) -> Void

Modified MKETAHandler
Declaration
From
typealias MKETAHandler = (MKETAResponse!, NSError!) -> Void
To
typealias MKETAHandler = (MKETAResponse?, NSError?) -> Void

Declaration
From
typealias MKLocalSearchCompletionHandler = (MKLocalSearchResponse!, NSError!) -> Void
To
typealias MKLocalSearchCompletionHandler = (MKLocalSearchResponse?, NSError?) -> Void

Declaration
From
typealias MKMapSnapshotCompletionHandler = (MKMapSnapshot!, NSError!) -> Void
To
typealias MKMapSnapshotCompletionHandler = (MKMapSnapshot?, NSError?) -> Void

Declaration
From
func MKStringFromMapPoint(_ point: MKMapPoint) -> String!
To
func MKStringFromMapPoint(_ point: MKMapPoint) -> String

Declaration
From
func MKStringFromMapRect(_ rect: MKMapRect) -> String!
To
func MKStringFromMapRect(_ rect: MKMapRect) -> String

Declaration
From
func MKStringFromMapSize(_ size: MKMapSize) -> String!
To
func MKStringFromMapSize(_ size: MKMapSize) -> String