私はコアデータに基づいてアノテーションをマップに保存して読み込みます。MKAnnotionに基づくコアデータオブジェクトを削除する
アノテーションをタップし、そのピンのコアデータを削除する方法についてはわかりません。
テーブルビューとは異なり、フェッチされたオブジェクト配列から削除する実際のindexPathはありません。私が注釈を画面上で追跡することを考える唯一の方法は、すべてのタグと行に私の取得した結果配列を与えることですが、よりよい方法が必要だと感じています。
私はピンにタップを実装する方法を知っていますが、一度そのピンが選択されると、それを作成したcoredataオブジェクトでどのように結び付けますか?あなたの問題を解決するため
func loadPins(){
let pinRequest : NSFetchRequest<Pin> = Pin.fetchRequest()
do {
pins = try managedObjectContext.fetch(pinRequest)
} catch {
print("There was en error fetching pins")
}
for pin in pins {
let lat = pin.latitude
let lon = pin.longitude
let coordinate = CLLocationCoordinate2D(latitude: lat, longitude: lon)
createAnnotation(coordinate: coordinate)
}
}
func createAnnotation(coordinate : CLLocationCoordinate2D){
let annotation = MKPointAnnotation()
annotation.coordinate = coordinate
annotation.title = "henlo"
map.addAnnotation(annotation)
}
私ものObjectIDのを知らなかった事でした。これは完璧です、ありがとう! – user6820041