2014-06-15 6 views
33

Hızlı dilde bir haritaya nasıl açıklama eklendiğinden emin değilim. NSObject sınıfını nasıl oluşturacağımı bilmiyorum. Denedim ama çalıştıramadı aşağıdaki kodu: Swift içindeMKAnnotation Swift

import Foundation 
import MapKit 
class MapPin : MKAnnotation 
{ 
    var mycoordinate: CLLocationCoordinate2D 
    var mytitle: String 
    var mysubtitle: String 

    func initMapPin (coordinate: CLLocationCoordinate2D!, title: String!, subtitle: String!) 
    { 
     mycoordinate = coordinate 
     mytitle = title 
     mysubtitle = subtitle 
    } 
} 
+0

. Ne tür bir hatayla karşılaştın? Bunu nasıl kullanmaya çalışıyorsun? –

cevap

86
  1. Tüm başlatma yöntemleri basitçe olmalı "init"
  2. MKAnnotation nesne NSObjectProtocol devralan gerektirir. Bunu yapmak için, Eğer gerçekten zorunda olmadıkça Dolaylı olarak Kaydırılmamış Opsiyonlar olarak Parametrelerinizi beyan etmemelidir MKAnnotation protokolü
  3. içine alacak şekilde özelliklerinizi ilan etmeli NSObject
  4. adresinin sınıf devralma sahip olmalıdır. Derleyici, çalışma zamanı hataları atmak yerine bir şey olup olmadığını kontrol etsin.

Bu size sonucu verir: Bize bunu çalıştırmak koyamadık neden bir fikir vermek zorunda

class MapPin : NSObject, MKAnnotation { 
    var coordinate: CLLocationCoordinate2D 
    var title: String? 
    var subtitle: String? 

    init(coordinate: CLLocationCoordinate2D, title: String, subtitle: String) { 
     self.coordinate = coordinate 
     self.title = title 
     self.subtitle = subtitle 
    } 
} 
+0

Teşekkürler çok :) –