【问题标题】:Passing Array data between view controllers在视图控制器之间传递数组数据
【发布时间】:2015-02-10 14:48:57
【问题描述】:

我在视图控制器之间传递存储在数组中的数据时遇到了麻烦。

这是我的第一个视图控制器:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    var showDico: ViewControllerShowDico = segue.destinationViewController as ViewControllerShowDico

    showDico.Dico = self.dictionnaire
}

这是第二个:

class ViewControllerShowDico: UIViewController {

    @IBOutlet weak var lbl_ContenuDico: UILabel!

    var Dico = [String]()
    var i = Int()
    var tailleDico = Int()

    override func viewDidLoad() {

        // Calcul de la taille du dictionnaire
        tailleDico = Dico.count

        // Affichage des mots dans le label lbl_contenuDico
        lbl_ContenuDico.text = "\(Dico)"

    }

}

这就是我的字典变量的初始化方式:

var dictionnaire = ["Maserati", "Porsche", "Airbus", "Canari", "Automobile",
                    "Jouer", "Pendu", "France"]

问题是我的第二个视图控制器中的数组不包含任何内容

【问题讨论】:

  • 你在哪里以及如何分配 self.dictionnaire?
  • self.dictionnaire 的类型又是什么?
  • var Dico = [String]() 在这里你声明一个数组而不是字典!
  • 我希望我的第二个视图控制器中的 Dico 变量等于我的第一个视图控制器中的字典。
  • 我不需要字典,我这样命名是因为我正在制作一个刽子手游戏,所以我想要一个数组来存储所有单词,仅此而已

标签: arrays swift modalviewcontroller


【解决方案1】:

您对 Dico 的问题是,当您调用第二个视图控制器时,您正在使用 Dico: [String]() 重新初始化数组,而实际上您只想声明这样的结构 - Dico: [String]!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-09
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多