我一直在制作简单的GPA计算应用程序。它从许多文本字段中获取用户输入并进行计算并显示结果
@IBAction func CalculateGpa(sender: AnyObject){
//all the calculation happen here
//example
let gpa:Float = TotalGiCi/TotalGi
}
我想把它传给我的标签。
所以我做了这样的编码
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var ResultViewController : ViewControllerResult = segue.destinationViewController as! ViewControllerResult
ResultViewController.GPAResultLabel = "\(gpa)"
}
然后我得到了一个错误,说
2ndViewController
我在这里能做什么?
我试着删除
gpa
并用2ndViewController
替换它,因为sender是anyObject。那我就错了Use of unresolved identifier gpa
最佳答案
用var
全局定义变量,因为用let声明的变量必须立即赋值。不能像在第一行那样简单地用let和no值定义变量。
如果您是在运行时修改值,而不是常量。因此,您需要一个变量,即使它的值只改变一次。
class viewcontroller:UIViewcontroller{
// Define variable gpa here with its return type...
var gpa:Float?
override func viewDidLoad() {
super.viewDidLoad()
// relevant code
}
@IBAction func CalculateGpa(sender: AnyObject){
gpa = TotalGiCi/TotalGi
}
// Data passing code
关于ios - 在两个View Controller Swift IOS之间传递数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31353216/