2016-10-10 8 views
0

ich bin in diesem Augenblick einen iOS-App von Swift 2,0 bis 2,3 und auf Probleme stoßen auf sehr einfache Sache zu übertragen ...MKAnnotationView Probleme selbst initializiers (konvertieren swift 2,0 bis swift 2.3)

, die meine AnnotationView Klasse ist:

class PPLocationAnnotationView: MKAnnotationView { 

    private let annotationSize = CGSize(width: 60.0, height: 60.0) 

    init() { 
     let annotationFrame = CGRect(
      origin: CGPointZero, 
      size: annotationSize) 
     super.init(frame: annotationFrame) 

     opaque = true 
     image = UIImage.annotationLocationIcon() 
     enabled = true 
     canShowCallout = false 
     centerOffset = CGPoint(x: 0.0, y: -(UIImage.annotationLocationIcon().size.height/2) + 10.0) 

     layer.shouldRasterize = true 
     layer.rasterizationScale = UIScreen.mainScreen().scale 
    } 
} 

die Fehler, die occures sind:

:

zu

Also änderte es dieses Bit "einen bestimmten Initialisierung des Ober MKAnnotationView nennen müssen"

convenience init(frame: CGRect) { 
     let annotationFrame = CGRect(
      origin: CGPointZero, 
      size: annotationSize) 
     self.init(frame: annotationFrame) 

Jetzt bekomme ich einen neuen Fehler:

„Verwendung von‚Selbst‘in‚setupAudioSession‘Methodenaufruf vor super.init selbst initialisiert“ Ich verstehe es nicht ...

wäre toll, wenn einige damit helfen könnten.

prost

Antwort

1

Der designierte initializer eines MKAnnotationView ist init(annotation: MKAnnotation?, reuseIdentifier: String?)

Sie müssen, dass in Ihrem initializer nennen.