首页 > 解决方案 > 通过 segue 发送很多东西 - Swift 4

问题描述

编辑 - 不再是一个真正的问题 - 请随时删除这篇文章或随意使用它。一个小红框表示这篇文章主要是代码,Grammarly 也很有帮助,所以现在就漫无目的,直到小红框消失。

工作解决方案:

视图控制器1->

枚举标记许多按钮 - (更改界面生成器中的每个按钮标记)

enum Answers : Int, CustomStringConvertible {
    case bag = 1
    case bird = 2

文本枚举

    var description : String {
        switch self {
        case .bag: return "Beg"
        case .bird: return "Birds"

        }

    }

图片的枚举 - (存储在资产中)

    var pics : String {
        switch self {
        case .bag: return "beg"
        case .bird: return "birds"


        }

    }

}

准备转场 - (故事板应与标识符名称匹配)

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
     if segue.identifier == "ShowAnswers" {
        guard
            let controller = segue.destination as? proverbsViewController,
            let category = sender as? Answers
            else { return }

        controller.answer = category.description
        controller.image = UIImage(named: category.pics)!


    }
 }

Button to segue - 所有按钮都连接在这里(在 IB 中标记)

@IBAction func onButtonTap(_ sender: UIButton) {
    performSegue(withIdentifier: "ShowAnswers", sender: Answers(rawValue: sender.tag))

   }

}

接收数据:

视图控制器2->

var answer = ""

var image = UIImage()

标签: iosswiftsegue

解决方案


推荐阅读