使用多个ViewControllers(Swift)初始化类问题

时间:2015-05-19 01:40:41

标签: ios iphone xcode swift uiviewcontroller

我正在使用我的XCode项目中的两个视图控制器。我从第一个View Controller传递了一个变量到第二个。我一直得到这个 Swift编译器错误:“类SecondViewController没有初始化器”Fix-it>没有初始值的存储属性“XScore”会阻止合成初始化程序

这是我在FirstViewController中传递变量的方法:

override func prepareForSegue(Segue: UIStoryboardSegue, sender: AnyObject?) {
    var Destination = (Segue.destinationViewController as SecondViewController)

    Destination.XScore = Score

    }

这是我的第二视图控制器的一部分:

class SecondViewController: UIViewController {

@IBOutlet weak var XScoreLabel: UILabel!

var XScore:Double = 0.00

我已经尝试了很多不同的方法来初始化这个属性,即使在没有它的情况下似乎也是正确的。

提前致谢。

1 个答案:

答案 0 :(得分:0)

你有几个问题。正如Gabe指出的那样,您将目的地转换为SecondViewController类型,但正在显示其他类ShopViewController的代码。

您需要在XScore中向我们展示SecondViewController的声明。

如果它(在SecondViewController中)被定义为

var XScore:Double 

然后将其更改为

var XScore:Double  = 0

var XScore:Double? = nil 

(允许零值)