ios - 如何在 Swift4 中获取另一个类的枚举内容?

标签 ios swift enums

我想导航到另一个具有选择器 View 的 View Controller ,但这是通用的,必须根据导航前传递的类型参数选择内容选择 View 。这个参数是一个名为tipo

的变量

所以在我的 MainViewController 中我有一个导航功能:

@objc func handlerSelectOpTipo(_ sender: UILabel) {
        let vcSelectTipo = self.storyboard?.instantiateViewController(withIdentifier: "ViewControllerSelect") as! ViewControllerSelect
       //  vcSelectTipo.tipo = .entrega // <- Example that I want.
        vcSelectTipo.tipo = 0 // <- ENUM TYPE HERE
        self.present(vcSelectTipo,animated: true,completion: nil)
    }

Picker 的 ViewController

class ViewControllerSelect : UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {

    @IBOutlet weak var pickerView: UIPickerView!
    @IBOutlet weak var btOk: UIButton!
    @IBOutlet weak var lblTitulo: UILabel!
    var tipo : Int?
    var conteudo : [String] = []

    override func viewDidLoad() {
        pickerView.setValue(UIColor.white, forKey: "textColor")
        pickerView.dataSource = self
        pickerView.delegate = self
        btOk.addTarget(self, action: #selector(handlerBtOk), for: .touchUpInside)
    }

    @objc func handlerBtOk() {

    }


    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 1
    }

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return conteudo.count
    }

    enum tipoConteudo: Int {
        case tipo
        case entrega
        case priceList
        case campanha
    }
}

我无法访问 set var tipo : Int?

的 MainViewController 的枚举值

我想要一些像:

vcSelectTipo.tipo = .entrega
vcSelectTipo.tipo = .priceList

但自动完成不显示 tipoConteudo 枚举类型。

最佳答案

您已将 tipo 变量声明为 Int 而不是您的枚举类型。

改变:

var tipo: Int?

到:

var tipo: TipoConteudo?

并且类型名称应以大写字母开头,因此 tipoConteudo 应为 TipoConteudo

关于ios - 如何在 Swift4 中获取另一个类的枚举内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50195606/

相关文章:

ios - UIWebView 具有授权,单击链接时使用相同的身份验证

ios - AVPlayerItem 奇怪的缓冲区观察者

ios - 有没有办法在 MacBook M 上调试 iOS 应用或使用 TestFlight?

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

ios - 在当前事件的 UIViewController 中呈现 UIAlertController

ios - Swift:如果 PFObject = nil 则执行 segue。

ios - 有效地更新 UITabelView 单元格

java - 在java中映射2枚举

php - 如何在该类中创建类实例的常量数组?

java - 在 spring data elasticsearch 中保存 ENUM