iOS Swift,将变量从ViewController传递到同一ViewController中的类

iOS Swift,将变量从ViewController传递到同一ViewController中的类,ios,swift,Ios,Swift,我有一个ViewController(a),它获取swift类“QuantityMatrix{var qMatrix=[[“1”、“2”、“3”]、[“4”、“5”、“6”]//返回数量}”的输出(数量),并执行一些操作 如果我向RateMatrix类提供qMatrix,代码就可以正常工作。但是,现在我想从其他视图控制器(B)生成变量qMatrix,并在QuantityMatrix类中使用它 我不知道如何从视图控制器(B)传递qMatrix。有人能帮忙吗 例: 上面的操作很好,但现在我不是直接使

我有一个ViewController(a),它获取swift类“QuantityMatrix{var qMatrix=[[“1”、“2”、“3”]、[“4”、“5”、“6”]//返回数量}”的输出(数量),并执行一些操作

如果我向RateMatrix类提供qMatrix,代码就可以正常工作。但是,现在我想从其他视图控制器(B)生成变量qMatrix,并在QuantityMatrix类中使用它

我不知道如何从视图控制器(B)传递qMatrix。有人能帮忙吗

例:

上面的操作很好,但现在我不是直接使用[[“1”、“2”、“3”]、[“4”、“5”、“6”]]值,而是从另一个viewcontroller(B)生成这些值。为此,我需要将在B控制器中生成的变量传递给QuantityMatrix。谁能告诉我怎么做


我是新来的。所以请解释一下。谢谢。

您需要提供从视图控制器a到视图控制器B的引用,然后它可以通过调用func简单地请求值


执行此操作的最佳位置通常是prepareForSegue,不过这取决于您打开视图的方式。

类不返回值,方法返回值。@dallen抱歉。代码在QuantityMatrix中使用get{},该矩阵返回。那么你能帮我吗?get{}需要在计算机中property@dallen我用这个是为了准确。我目前正在使用prepareForSegue将qMatrix的新生成值从VC B传递到VC A。但问题是,qMatrix在QuantityMatrix()类中,而不是在VC A中。因此,当我尝试使用新生成的数量变量(使用segue从B传递到A)时,它会给我一个错误“没有名为..的成员”。我还尝试将QuantityMatrix类放在VCA类中。但它还是给了我一个错误“没有名为…”的成员。然后你需要在全局级别创建QuantityMatrix类,只需创建一个新文件并将类定义放在其中,这样两个VCs都可以访问它。我想我无法清楚地解释我的问题。你能查一下这个密码吗。我想用dataViewController.swift中创建的新变量替换QuantityMatrix.swift中的变量qMatrix。如果你能在这方面帮助我,我将不胜感激。事先非常感谢你。有困难吗?如果有人能帮我工作,我真的很想这么做。另外,我检查了全局声明变量的方法,发现它会导致错误,并且不是一个好的代码实践。它是?。所以,使用代码数据将变量保存在设备上并从中检索会更好吗?
Class ViewControllerA: UIViewController {
var qMatrix = QuantityMatrix() 

// uses the 'quantity' returned from QuantityMatrix class to perform some action
}

Class QuantityMatrix {
var qMatrix:[[String]] = [["1", "2", "3"], ["4", "5", "6"]]
//
.
.
return quantity
}