Firebaseからいくつかの情報をダウンロードし、その情報を私のカスタム注釈クラスに保存します。次に、その情報を次のビューコントローラの変数に転送して、テーブルビューが適切に読み込まれるようにします。値がnilを返すのでクラッシュする代わりに。私は、コールアウトアクセサリボタンを使用してセグを開始しています。私はcalloutAccessoryControlTapped関数を使用しています。 1つのViewControllerから次のViewControllerに一般的にデータを渡す方法を理解しています。これはtableViewと同じように優れています。これはtableViewCellsに似たMapKit注釈を使用していますが、indexRowに相当するMapKitを認識していません。パスは、tableViewsが持っています。ここでprepareSegueを使用しているときに、MapKit注釈に格納された情報を新しいView Controllerに転送するには
import Foundation
import UIKit
import MapKit
class BookAnnotation: NSObject, MKAnnotation {
var coordinate: CLLocationCoordinate2D
var title: String?
var Author:String?
var Genre: String?
var Comment: String?
var User: String?
var bookPhoto: String?
var userID: String?
var userPhoto: String?
var userLocation: String?
var bookRating: String?
var pushingID: String?
var bookLat: Double?
var bookLng: Double?
init(title: String, Author: String, Genre: String, Comment: String, User: String, bookPhoto: String, userID: String, userPhoto: String, userLocation: String, bookRating: String, pushingID: String, coordinate: CLLocationCoordinate2D){
self.title = title
self.Author = Author
self.Genre = Genre
self.Comment = Comment
self.User = User
self.bookPhoto = bookPhoto
self.userID = userID
self.userPhoto = userPhoto
self.userLocation = userLocation
self.bookRating = bookRating
self.pushingID = pushingID
self.coordinate = coordinate
super.init()
}
var subtitle: String? {
return Comment
}
}
ノートの(いくつかの差異を求めた例である。情報を送信するビューは、それがに行くためにいくつかの情報や、詳細ボタンaccesoryを表示するには、アノテーションを使用してのMapViewでのtableViewではありません次のビューControllerはtableViewですので、この関数ではindexPath.rowを使用できません。今回は辞書の中にものを格納しませんでした。これは意味があると思います)。
可能な複製(http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers) – vikingosegundo
私はあなたのprepareforsegue方法を見ることができますか? –
@vikingosegundoこれは重複していません。私はTableViewsでこれを行う方法を知っていますが、ここで私が頼りにできるindex.pathはありません。 MapKit注釈も同様に機能しますが、これを行うための同等の方法は見つかりませんでした。 –