如何在swift中将值从mainVC传递到containerview(ChildVC)

问题描述

我已经在 mainVC 中使用了 containerview,我需要在 containerview 中实现 webservice ..这是我无法做到的

在 mainvc 代码中:在这里,如果我可以通过 postId,那么 ServiceVC() 的 servicecall 将会发生..但我无法发送

 class ViewProposalVC: UIViewController,UITableViewDelegate,UITableViewDataSource {


@IBOutlet weak var viewPropScrollView: UIScrollView!
@IBOutlet weak var containerView: UIView!
var childVC = ServiceVC()


@IBAction func serviceDetBtn(_ sender: Any) {

viewPropScrollView.isHidden = true

childVC.serviceId = postId

}

@IBAction func proposalBtn(_ sender: Any) {

containerView.isHidden = true
viewPropScrollView.isHidden = false
postedServicesCall()

} 

这里我需要像这样将值 childVC.serviceId = postId 传递给 ServiceVC() 但它不会......为什么?

如何将postId发送到ServiceVC()

编辑:

根据这个:link code 我试图将值从 parentvc 发送到 childvc

ViewProposalVC 父容器中:

protocol Delegate : class{
func protocolMethod(valId:Int)
}


import UIKit

class ViewProposalVC: UIViewController,UITableViewDataSource {

var delegate : Delegate?
var postId: Int?

@IBAction func serviceDetBtn(_ sender: Any) {

viewPropScrollView.isHidden = true

self.delegate?.protocolMethod(valId : postId ?? 0)
containerView.isHidden = false

}

在 childvc 中:

 class ServiceVC: UIViewController,UITableViewDataSource,Delegate {

var serviceId: Int?

 func protocolMethod(valId : Int){
        print("testing value \(valId)")
    }


override func viewDidLoad() {

   let pvc = ViewProposalVC() // this is the mistake!
   pvc.delegate = self
  }

  }

像这样或之前,如果我点击 serviceDetBtn 那么 ServiceVC 不会被调用,为什么?

我如何称呼ServiceVC

请帮忙

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...