加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Swift中将变量从一个ViewController传递给另一个

发布时间:2020-12-14 05:22:52 所属栏目:百科 来源:网络整理
导读:我有一个计算器类,第一个用于插入值的ViewController和第二个用于显示计算结果的ViewController.不幸的是,如果我点击按钮,我会收到一个名为“无法解开Optional.None”的错误.我知道语法有问题,但我不知道如何改进它. 第一个Viewcontroller中的按钮在故事板中
我有一个计算器类,第一个用于插入值的ViewController和第二个用于显示计算结果的ViewController.不幸的是,如果我点击按钮,我会收到一个名为“无法解开Optional.None”的错误.我知道语法有问题,但我不知道如何改进它.

第一个Viewcontroller中的按钮在故事板中设置为“Segue:Show(例如Push)”,如果他被轻击,则切换到secondViewController.

计算器类是这样的:

class Calculator: NSObject {

    func calculate (a:Int,b:Int) -> (Int) {
        var result = a * b
        return (result)
    }
}

Viewcontroller调用该函数,插入一个/ b并想要更改位于secondviewcontroller中的标签:

class ViewController: UIViewController {

@IBAction func myButtonPressed(sender : AnyObject) {
    showResult()
}

var numberOne = 4
var numberTwo = 7

var myCalc = Calculator()

func showResult () {
    var myResult = myCalc.calculate(numberOne,b: numberTwo)
    println("myResult is (String(myResult))")
    var myVC = secondViewController()
    myVC.setResultLabel(myResult)
}

这是secondViewController的代码

class secondViewController: UIViewController {

@IBOutlet var myResultLabel : UILabel = nil

func setResultLabel (resultValue:Int) {
    myResultLabel.text = String(resultValue)
}

init(coder aDecoder: NSCoder!)
{
    super.init(coder: aDecoder)
}
在Swift中,默认情况下一切都是公开的.
在类之外定义变量:
import UIKit

var placesArray: NSMutableArray!

class FirstViewController: UIViewController {
//
..
//
}

然后访问它

import UIKit

class TableViewController: UITableViewController {
//
placesArray = [1,2,3]
//
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读