ここでこの質問に対する答えを見つけました: Store CLLocationCoordinate2D to NSUserDefaults。コードは Objective C で書かれています。ほとんどの場合、そのリンクのコードで何が起こっているかを理解しています。ただし、構文を Swift に変換するのは難しいです。そして、他の人にもこの翻訳が役立つと思います.
エラーを繰り返しますが、次のとおりCannot invoke 'setObject' with an argument list of type (CLLocationCoordinate2D, forKey: String!)
です。そして、この問題を引き起こしている構文は次のとおりです。
let mapAnnotations = NSUserDefaults.standardUserDefaults()
let newCoordinate = self.mapView.convertPoint(touchPoint, toCoordinateFromView: self.mapView)
var title: String! = ""
self.mapAnnotations.setObject(newCoordinate, forKey: title) //the error is here
self.mapAnnotations.synchronize()