0
長押しのジェスチャーが認識されると、iOS CoreDataにマークされた場所を保存しようとしています。ジェスチャーを呼び出すときはいつでも、アプリは常にクラッシュします。私はまた、これらの2つのcoreData型をDoubleに設定しました。私はまだiOS開発に精通していないので、coreDataに座標をできるだけ簡単に保存するにはどうしたらいいですか?保存方法CoreDataでの位置
@IBAction func saveLocation(_ sender: Any) {
guard let longPress = sender as? UILongPressGestureRecognizer else
{ return }
if longPress.state == .ended {
let touchLocation = longPress.location(in: mapView)
let coordinate = mapView.convert(touchLocation, toCoordinateFrom: mapView)
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let newLocation = NSEntityDescription.insertNewObject(forEntityName: "GeoData", into: context)
newLocation.setValue(coordinate.latitude as Double, forKey: "myLatitude")
newLocation.setValue(coordinate.longitude as Double, forKey: "myLongitude")
do
{
try context.save()
}
catch
{
//ERROR
}
}
}
クラッシュログとは何ですか? –
申し訳ありませんが、私はそれがちょうど私のばかげた可能性があると思います。私は気付かなかったブレークポイントに入ったにちがいない。それが正しく保存されているようだ。 – Artvader