在两个视图控制器之间传递数据不起作用

时间:2016-05-05 18:20:00

标签: ios swift presentviewcontroller

我试图在两个视图控制器之间传递一些数据,但它不起作用..

这是我想要传递的数据(这些数据来自parse.com - 两个视图控制器中都有相同的代码):

var userFile = [PFFile]()
var createdAt = [NSDate]()
var objID = [String]()

这是用于打开视图控制器的按钮(在我尝试发送数据FROM的第一个视图控制器内):

@IBAction func openButtonAction(sender: AnyObject) {
        let modalVC = ModalViewController(nibName: "ModalViewController", bundle: nil)
        modalVC.userFile = self.userFile
        modalVC.createdAt = self.createdAt
        modalVC.objID = self.objID

        print("USERFILE: \(modalVC.userFile.count)")
        presentViewController(modalVC, animated: true, completion: nil)
    }

视图控制器是ModalViewController.xib连接到ViewStoryModalViewController.swift

这是视图控制器中的viewDidLoad我试图发送数据TO:

override func viewDidLoad() {
        super.viewDidLoad()

        print("USERFILECOUNT: \(self.userFile.count)")
    }

我的问题是这是我在xCode输出中得到的消息: enter image description here

这里可能有什么问题?有什么建议吗?

2 个答案:

答案 0 :(得分:0)

xCode输出告诉一个数组self.userFile包含零元素,这并不意味着它传递错误。它只是空的。

print("USERFILECOUNT: \(self.userFile.count)")

在将其传递给modal vc之前检查它是否为空。

答案 1 :(得分:0)

试试这段代码 您首先需要在尝试设置变量之后出现。

IBAction func openButtonAction(sender: AnyObject) {
        let modalVC = ModalViewController(nibName: "ModalViewController", bundle: nil)
      print("USERFILE: \(modalVC.userFile.count)")
        presentViewController(modalVC, animated: true, completion: nil)
        modalVC.userFile = self.userFile
        modalVC.createdAt = self.createdAt
        modalVC.objID = self.objID
    }