![](/img/trans.png)
[英]Passing data from view controller to table view controller in ios swift 2
[英]Data passing between two View Controller Swift IOS
我一直在做简单的GPA计算应用程序。 并且它需要用户从许多文本字段中输入内容并进行计算并显示结果。 2ndViewController
想在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?) {
因为发件人是anyObject。 然后我有错误
unrecognized selector sent to instance
用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
全局变量是在任何函数,方法,闭包或类型上下文之外定义的变量。全局常量和变量始终是惰性计算的
请参考以下代码。我们在下面声明了这样的变量。
class YourViewControllerName: UIViewController
{
let gpa:Float = TotalGiCi/TotalGi
//OR
var gpa:Float = TotalGiCi/TotalGi
@IBAction func CalculateGpa(sender: AnyObject)
{
//all the calculation happen here
//example
//Do your Calculation here
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
var ResultViewController : ViewControllerResult = segue.destinationViewController as! ViewControllerResult
ResultViewController.GPAResultLabel = "\(gpa)"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.