我已经在单独的文件中创建了结构:
struct DataEnteredModelSave {
let pinCode: String
let streetField: String
let cityField: String
}
这里我正在为Thirdviewcontroller中的struct添加值,我需要在firstviewcontroller tableview中显示的值
如何将此结构值发送到firstviewcontroller tableview
此代码在我的第三个视图控制器中:
protocol DataEnteredDelegate: class {
func userDidEnterInformation(info: DataEnteredModelSave)
}
class ThirdViewController: UIViewController {
weak var delegate: DataEnteredDelegate? = nil
var zipName: String?
var localityName: String?
var sublocalityName: String?
@IBOutlet weak var mapView: MKMapView!
@IBOutlet weak var addressLabel: UILabel!
@IBAction func confirmBtn(_ sender: Any) {
let viewController = self.storyboard?.instantiateViewController(withIdentifier: "Add_EditAddressViewController") as! Add_EditAddressViewController
guard
let zipName = zipName,
let sublocalityName = sublocalityName,
let localityName = localityName
else { return }
let enteredData = DataEnteredModelSave(pinCode: zipName, streetField: sublocalityName, cityField: localityName)
delegate?.userDidEnterInformation(info: enteredData)
self.navigationController?.pushViewController(viewController, animated: true)
}
extension ThirdViewController: MKMapViewDelegate {
func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
self.localityName = placemark.locality ?? ""
self.sublocalityName = placemark.subLocality ?? ""
self.zipName = placemark.postalCode ?? ""
}
}
}
}
这是第一个视图控制器代码:这里如何获取第三视图控制器zipName,localityName,sublocalityName在tableview单元格标签中
class FirstViewController: UIViewController,DataEnteredDelegate {
@IBOutlet var addressEDITTableview: UITableView!
var city: String?
var pincode: String?
var locality: String?
var addressModelArray = [DataEnteredModelSave]()
}
extension FirstViewController : UITableViewDelegate,UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return addressModelArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: EditAddressTableViewCell = tableView.dequeueReusableCell(withIdentifier: "EditAddressTableViewCell") as! EditAddressTableViewCell
cell.addressLabel.text = addressModelArray[indexPath.row]//here how to get third view controller zipName, localityName, sublocalityName
return cell
}
请帮助我在表视图中添加值
简单的把戏!只需在ThirdViewController的ViewDidLoad中编写: