我一直在制作简单的 GPA 计算应用程序。它需要来自大量文本字段的用户输入并进行计算并显示结果。我想在 2ndViewController
@IBAction func CalculateGpa(sender: AnyObject){
//all the calculation happen here
//example
let gpa:Float = TotalGiCi/TotalGi
}
我想将那个 gpa
传递给我的 2ndViewController
标签。
所以我做了这样的编码
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var ResultViewController : ViewControllerResult = segue.destinationViewController as! ViewControllerResult
ResultViewController.GPAResultLabel = "\(gpa)"
}
然后我收到错误提示 Use of unresolved identifier gpa
我能在这里做什么?
我尝试删除 @IBAction func CalculateGpa(sender: AnyObject){
并将其替换为 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
因为发件人是任何对象。然后我得到了错误
无法识别的选择器发送到实例
最佳答案
用 var
全局定义变量,因为用 let 声明的变量必须立即赋值。您不能像在第一行尝试做的那样简单地使用 let 定义一个没有值的变量。
如果您在运行时修改值,这不是常量。因此,您需要一个变量,即使它的值只改变一次。
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/