Ios 如何在单独的UIViewController中选择实例变量而不使用Segue

Ios 如何在单独的UIViewController中选择实例变量而不使用Segue,ios,swift,cocoa-touch,uiviewcontroller,Ios,Swift,Cocoa Touch,Uiviewcontroller,我试图选择并设置一个实例变量,该变量是另一个UIViewController的一部分,但是,我不知道如何选择另一个ViewController并在不使用segue的情况下访问其内容 每当用户签出任务时,应计算完成任务的百分比,并设置另一个视图控制器的实例变量 我意识到我目前正在实例化一个新的视图控制器,而不是选择故事板上已有的视图控制器。我使用的第三方侧边栏菜单位于主视图后面,尽管它实际上是作为单独的场景/视图控制器存在的。应该注意的是,这个侧边栏菜单本身并没有使用segue显示。是否有任何方法

我试图选择并设置一个实例变量,该变量是另一个UIViewController的一部分,但是,我不知道如何选择另一个ViewController并在不使用segue的情况下访问其内容

每当用户签出任务时,应计算完成任务的百分比,并设置另一个视图控制器的实例变量

我意识到我目前正在实例化一个新的视图控制器,而不是选择故事板上已有的视图控制器。我使用的第三方侧边栏菜单位于主视图后面,尽管它实际上是作为单独的场景/视图控制器存在的。应该注意的是,这个侧边栏菜单本身并没有使用segue显示。是否有任何方法可以选择另一个视图控制器并访问其实例变量

@IBAction func checkOffTask(sender: UIButton) {

    // Select sidebar view controller
    let sidebarViewController = self.storyboard?.instantiateViewControllerWithIdentifier("sideBarScene") as! SideBarViewController

    // Calculate percentage of completed tasks
        // Select the count of all tasks
        let allTasksCount = Float(firstDataSource.count + secondDataSource.count)

        // Select the count of all completed tasks
        let completedTasksCount = Float(secondDataSource.count)

        // Divide the two to get a percentage
        var completedTaskPercentage = completedTasksCount / allTasksCount

        sidebarViewController.completedTaskPercentageTemporary = String(stringInterpolationSegment: completedTaskPercentage)

    println(sidebarViewController)
    println(sidebarViewController.completedTaskPercentageTemporary)
}

一个技巧是找出当前可见视图控制器并设置其属性。我可以帮你做这件事


另一种方法是,当目标视图控制器的对象被序列图像板初始化时,抓住它。为此,您需要依赖
prepareforsgue:sender:
方法。保存对象后,可以传递它并使用它设置属性。

现有的“sideBarScene”是如何创建的?创建它的对象能否保存引用并将其提供给此代码?如果没有,将NSn通报视为在无关对象之间进行通信的一种方式。StBaFieldSee只是故事板上的一个UIVIEW控制器,带有一个“侧栏场景”的标识符。但是某些东西必须使对象在运行的应用程序中被初始化。