【发布时间】:2018-03-22 17:07:21
【问题描述】:
我在选择UITableViewCell 时遇到了一个非常有趣的问题。目前我正在尝试将一个数组从我的主 ViewController 传递到辅助 ViewController。我第一次启动我的应用程序并在我的UITableView 中选择一个单元格时,一切都完美加载,但是当我第二次选择另一个单元格时,来自旧单元格的信息似乎一直存在,直到我再次返回并选择单元格第二次。
这是我的第一个 ViewController 中处理信息传递的函数
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
self.selectedRow = indexPath.row
print("The current row is: ", self.selectedRow)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{
let nextViewController = segue.destination as! SelectedEventViewController
nextViewController.recievedArray = [self.eventArrayData[self.selectedRow]]
}
这是接收信息的视图控制器
class SelectedEventViewController: UIViewController
{
@IBOutlet weak var mapView: GMSMapView!
@IBOutlet weak var recHost: UILabel!
@IBOutlet weak var recStatus: UILabel!
@IBOutlet weak var recPrice: UILabel!
@IBOutlet weak var recAddress: UILabel!
@IBOutlet weak var recTown: UILabel!
var recievedArray: Array = [eventStruct]()
override func viewDidLoad()
{
super.viewDidLoad()
self.loadData()
}
func loadData()
{
let camera = GMSCameraPosition.camera(withLatitude: self.recievedArray[0].eventLat, longitude: self.recievedArray[0].eventLong, zoom: 15)
self.mapView.camera = camera
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: 0.0, longitude: 0.0)
marker.title = self.recievedArray[0].eventHost
marker.map = self.mapView
recHost.text = self.recievedArray[0].eventHost
self.title = self.recievedArray[0].eventHost
}
}
任何帮助将不胜感激!
【问题讨论】:
标签: ios arrays iphone uitableview uinavigationcontroller