ios - 在两个 View Controller Swift IOS 之间传递数据

标签 ios objective-c swift

我一直在制作简单的 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/

相关文章:

ios - Invalid Bundle Error(可能是 CocoaPods 导致的错误)

ios - MKPolygonRenderer 不填充多边形(大部分时间)

ios - 在 C 和 Objective C 中处理 unicode 字符串

swift - 如何扩展 String 的 UnsafePointer<Int8> 初始值设定项以接受 NULL 指针?

ios - 在值处停止 UISlider

ios - 从 Objective-C 中的字符串中删除短单词和字符

objective-c - 自动调整大小问题

ios - 这些 MPMediaQuery 结果之间有什么区别?

swift - 在 collectionView Swift 中加载数据时显示事件指示器

ios - 导航栏显示在 Storyboard 中但不显示在模拟器中