2
私はここで何かを明らかに不足しているしなければならない
作品: は、コアデータからMKPointAnnotationsの束を追加...ショーを地図上
機能しません: ピンをタップしたときにprintステートメントを表示させてください。
私はMKMapView Delegateセットを持っており、ピンがタップされた直後にsegueしたいので、AnnotationViewを実装していません。コンテキストダイアログを表示しないでください。
ピンが認識されていないことを確認するには、何が欠けていますか?
import UIKit
import MapKit
import Foundation
import CoreData
class MapViewController: UIViewController, MKMapViewDelegate {
@IBOutlet weak var mapOutlet: MKMapView!
var latitude = 100.0 as Double
var longitude = 120.0 as Double
var pins = [NSManagedObject]()
func pullPins() {
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
let fetchRequest = NSFetchRequest(entityName: "Pin")
do {
let results = try managedContext.executeFetchRequest(fetchRequest)
pins = results as! [NSManagedObject]
for pin in pins {
let pinLat = pin.valueForKey("latitude") as! Double
let pinLon = pin.valueForKey("longitude") as! Double
let pinCoordinate = CLLocationCoordinate2D(latitude: pinLat, longitude: pinLon)
let annotation = MKPointAnnotation()
annotation.coordinate = pinCoordinate
self.mapOutlet.addAnnotation(annotation)
}
}
catch let error as NSError {
print("Could not fetch \(error), \(error.userInfo)")
}
}
func mapView(mapView: MKMapView, didSelectAnnotationView view: MKAnnotationView) {
print("Pin Tapped")
}
override func viewDidLoad() {
super.viewDidLoad()
pullPins()
}
}
私はこのことを忘れていたとは思わない!!!!!!ありがとう@マット –