Swift使用其他文件中的变量

时间:2015-02-04 00:19:47

标签: ios swift

我有一个名为FoodHandler.swift的文件,我试图让它出现在标签内,我收到错误"致命错误:意外发现零展开一个可选值" 这将在新页面的println()中打开,

这是我在FoodHandler.swift

中的代码
import Foundation
import UIKit

var FoodType = ""
class SwitchSegue
{

}

这是我在新视图控制器上的代码

        @IBOutlet var lblChose: UILabel!
override func viewDidLoad() {
    super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

override func viewDidAppear(animated: Bool) {
    println(FoodType) // Works
    lblChose.text = FoodType // Throws a nil exception
}

有谁知道这是为什么?

3 个答案:

答案 0 :(得分:2)

错误不是FoodType。您可以告诉我,因为FoodType根本不是可选值...但lblChose是。!。它是一个"隐式解包的可选",you can read about here;它在声明后由lblChose表示。

检查以确保在界面中正确连接了{{1}}插座。

答案 1 :(得分:0)

在没有看到您的代码的情况下,我认为问题在于标签不存在。您已将其声明为可选项,但可能未与故事板上的标签相关联。通常当你从故事板连接它们时,它们会变弱:

@IBOutlet weak var lblChose: UILabel! 

答案 2 :(得分:-3)

您应该尝试使用(据我所知,println正确显示正确的值?):

lblChose.text = FoodType!