2017-02-13 5 views
-1

MKMapViewを設定しようとしています。マップを2秒間押し続けると、ユーザーの現在の位置にピンが表示されます。ここでSwift 3 MKMapView - 長押しでピン/注釈を追加する

は、私は私のviewDidLoadに持っているものです。

let gestureRecognizer = UILongPressGestureRecognizer(target: self, action:(Selector(("longPress:")))) 
gestureRecognizer.minimumPressDuration = 2.0 
gestureRecognizer.delegate = self 
map.addGestureRecognizer(gestureRecognizer) 

その後、私のViewControllerクラスの一番下に、私は以下があります。

func longPress(gestureRecognizer: UILongPressGestureRecognizer) { 

    let coordinate = map.centerCoordinate 

    let annotation = MKPointAnnotation() 
    annotation.coordinate = coordinate 
    map.addAnnotation(annotation) 
} 

私は、地図上のアプリとプレスを実行すると、 2秒間アプリがクラッシュします。コンソールは

NSException

タイプのキャッチされない例外で終了


言う認識されていないセレクタはインスタンスに0x7f89f0c02ad0

を送って、私はなぜわかりません。あなたが提供できるガイダンスをありがとうございます。

+0

http://stackoverflow.com/questions/24681275/how-to-do-a-long-press-in-swift –

答えて

0

決して言う

Selector(("longPress:")) 

セイ

#selector(longPress) 
+0

シンプルなソリューション私の問題は完全に解決されました。ありがとうございました! –

+0

私はそれが起こるときが好きです。 :)真に '#selector'構文を使用してください。その目的は、あなたが得たエラーを正確に防ぐことです。 – matt

関連する問題