如何在Swift中的不同.swift文件之间发送数组

时间:2016-08-10 07:00:37

标签: ios arrays swift swift2

我的viewcontrollerOne中有一个二维数组。

var estRent = [
            ("Weekly Rent:", a),
            ("Monthly Rent:", b),
            ("Yearly Rent:", c),
               ]

第一个维度是常量,第二个维度是变量。我在ButtonAction函数中声明它。我想给出变量值,并在单击按钮时将整个数组传递给另一个。swift文件。我已经知道如何从viewcontroller通过按钮跳转。

但是如何在同一时间将数组发送到.swift?

2 个答案:

答案 0 :(得分:0)

var secondvc = SecondViewController(); secondvc.yourArray = estRent; &上声明一个数组变量像这样传递按钮动作的值 -

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui" %>
<%@ page import="com.liferay.portal.kernel.util.UnicodeFormatter" %>

<portlet:defineObjects />

<aui:button-row cssClass="guestbook-buttons">
    <aui:button value="TESTING"></aui:button>
</aui:button-row>

<liferay-ui:input-editor initMethod="initEditor" name="mieditor">
<script type="text/javascript">
    function <portlet:namespace />initEditor() { 
        return "<%= UnicodeFormatter.toString("working") %>";
    }
</script>
</liferay-ui:input-editor>

Editor up.

这就是全部。

答案 1 :(得分:0)

包含阵列的第一个视图控制器

class ViewController: UIViewController {

  var estRent = [ ("Weekly Rent:", a), ("Monthly Rent:", b), ("Yearly Rent:", c),]

  override func viewDidLoad() {
    super.viewDidLoad()
  }

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

            let viewController = navigationController.topViewController as! SecondViewController;
            viewController.array = self.estRent;
        }
    }


}

在第二视图控制器中

 class SecondViewController: UIViewController {

      var array = [Any]()

      override func viewDidLoad() {
        super.viewDidLoad()
        print(array)
      }

    }