我试图用一些信息(txtTitulo,txt1,img1)填充视图控制器,如下所示:

class EstruturaAnatTroncoViewController: UIViewController {

@IBOutlet weak var casca: UIButton!
@IBOutlet weak var cambio: UIButton!
@IBOutlet weak var aneis: UIButton!
@IBOutlet weak var cerne: UIButton!
@IBOutlet weak var raios: UIButton!
@IBOutlet weak var medula: UIButton!

var nameButton: String!

override func viewDidLoad() {
    super.viewDidLoad()

    let color = UIColor(red: 237, green: 236, blue: 238, alpha: 1)

    casca.layer.cornerRadius = 25
    casca.layer.borderWidth = 1
    casca.layer.borderColor = color.CGColor
    casca.setTitle("Casca", forState: UIControlState.Normal)
    casca.titleLabel!.textAlignment = .Center
    casca.titleLabel!.textColor = color

    cambio.layer.cornerRadius = 25
    cambio.layer.borderWidth = 1
    cambio.layer.borderColor = color.CGColor
    cambio.setTitle("Câmbio", forState: UIControlState.Normal)
    cambio.titleLabel!.textAlignment = .Center
    cambio.titleLabel!.textColor = color

    aneis.layer.cornerRadius = 25
    aneis.layer.borderWidth = 1
    aneis.layer.borderColor = color.CGColor
    aneis.setTitle("Anéis", forState: UIControlState.Normal)
    aneis.titleLabel!.textAlignment = .Center
    aneis.titleLabel!.textColor = color

    cerne.layer.cornerRadius = 25
    cerne.layer.borderWidth = 1
    cerne.layer.borderColor = color.CGColor
    cerne.setTitle("Cerne e alburno", forState: UIControlState.Normal)
    cerne.titleLabel!.textAlignment = .Center
    cerne.titleLabel!.textColor = color

    raios.layer.cornerRadius = 25
    raios.layer.borderWidth = 1
    raios.layer.borderColor = color.CGColor
    raios.setTitle("Raios", forState: UIControlState.Normal)
    raios.titleLabel!.textAlignment = .Center
    raios.titleLabel!.textColor = color

    medula.layer.cornerRadius = 25
    medula.layer.borderWidth = 1
    medula.layer.borderColor = color.CGColor
    medula.setTitle("Medula", forState: UIControlState.Normal)
    medula.titleLabel!.textAlignment = .Center
    medula.titleLabel!.textColor = color

}


@IBAction func sliderView(sender: AnyObject) {

    var storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

    var vc: UINavigationController = storyBoard.instantiateViewControllerWithIdentifier("SlideViewController") as! UINavigationController

    self.showViewController(vc, sender: self)

}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    if nameButton == "Casca" {

        var dtVC = segue.destinationViewController as! DetailViewController
        dtVC.txtTitulo = "Casca"
        dtVC.img1 = "casca.jpg"
        dtVC.txt1 = "A casca é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."

    } else if nameButton == "Câmbio" {

        var dtVC = segue.destinationViewController as! DetailViewController
        dtVC.txtTitulo = "Câmbio"
        dtVC.img1 = "cambio.jpg"
        dtVC.txt1 = "O câmbio é um tecido meristemático, isto é, apto a gerar novos elementos celulares, constituído por uma camada de células situada entre o xilema e o floema, só sendo visível ao microscópio. Permanece ativo durante toda a vida do vegetal e é responsável pela formação dos tecidos secundários que constituem o xilema e a casca. A atividade cambiel é sensivelmente influenciada pelas condições climáticas."

    }


}

@IBAction func casca(sender: AnyObject) {

    nameButton = casca.titleLabel!.text

}
@IBAction func cambio(sender: AnyObject) {

    nameButton = cambio.titleLabel!.text

}
@IBAction func aneis(sender: AnyObject) {

    nameButton = aneis.titleLabel!.text

}
@IBAction func cerne(sender: AnyObject) {

    nameButton = cerne.titleLabel!.text

}
@IBAction func raios(sender: AnyObject) {

    nameButton = raios.titleLabel!.text

}
@IBAction func medula(sender: AnyObject) {

    nameButton = medula.titleLabel!.text
}

override func viewWillAppear(animated: Bool) {
    nameButton = nil

}

}


IBAction func casca正在运行,而其他功能则没有。我不知道为什么会这样。
当我使用其他IBAction时,nameButton会更改其值,但是在prepareForSegue函数中什么也没有发生!我究竟做错了什么?感谢您的帮助。

附注:如果您需要有关任何内容的更多信息,请告诉我!

最佳答案

您无需在此处使用按钮的名称进行播放。而是为同一个目标视图控制器的每个按钮进行排序。

谈到您的问题,答案是“是的,我们可以在prepareForSegue方法中使用if / else块。

如下更改方法prepareForSegue。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
    if (segue.identifier == "cascaButtonSegue")
    {
        var dtVC = segue.destinationViewController as! DetailViewController
        dtVC.txtTitulo = "Casca"
        dtVC.img1 = "casca.jpg"
        dtVC.txt1 = "A casca é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
    }
    else if (segue.identifier == "cambioButtonSegue")
    {
        var dtVC = segue.destinationViewController as! DetailViewController
        dtVC.txtTitulo = "cambio"
        dtVC.img1 = "cambio.jpg"
        dtVC.txt1 = "A cambio é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
    }
    else if (segue.identifier == "aneisButtonSegue")
    {
        var dtVC = segue.destinationViewController as! DetailViewController
        dtVC.txtTitulo = "aneis"
        dtVC.img1 = "aneis.jpg"
        dtVC.txt1 = "A cerne é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
    }
    else if (segue.identifier == "cerneButtonSegue")
    {
        var dtVC = segue.destinationViewController as! DetailViewController
        dtVC.txtTitulo = "cerne"
        dtVC.img1 = "cerne.jpg"
        dtVC.txt1 = "A cerne é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
    }
    else if (segue.identifier == "raiosButtonSegue")
    {
        var dtVC = segue.destinationViewController as! DetailViewController
        dtVC.txtTitulo = "raios"
        dtVC.img1 = "raios.jpg"
        dtVC.txt1 = "A raios é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
    }
    else if (segue.identifier == "medulaButtonSegue")
    {
        var dtVC = segue.destinationViewController as! DetailViewController
        dtVC.txtTitulo = "medula"
        dtVC.img1 = "medula.jpg"
        dtVC.txt1 = "A medula é constituída interiormente pelo floema, conjunto de tecidos vivos especializados para a condução da seiva elaborada, e exteriormente pelo córtex, periderme e ritidoma, tecidos que revestem o tronco."
    }
}


希望这对您有帮助。 :)

关于ios - 在prepareForSegue中可以使用if/else吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29837650/

10-14 21:51