Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用SWrevealviewcontroller将数据传递到后视图_Ios_Swift_Segue_Swrevealviewcontroller - Fatal编程技术网

Ios 使用SWrevealviewcontroller将数据传递到后视图

Ios 使用SWrevealviewcontroller将数据传递到后视图,ios,swift,segue,swrevealviewcontroller,Ios,Swift,Segue,Swrevealviewcontroller,我需要使用SWRevealViewController将front ViewController传递给rear ViewController,但我完全不知道如何做 后视图中的变量如下所示: var mainView : ViewController! 有没有关于如何将其传递到front ViewController的建议?嗯,这是一个很好的问题。经过努力,我终于为你找到了出路 在viewController.swift文件中 import UIKit //Add this line befo

我需要使用SWRevealViewController将front ViewController传递给rear ViewController,但我完全不知道如何做

后视图中的变量如下所示:

var mainView : ViewController!

有没有关于如何将其传递到front ViewController的建议?

嗯,这是一个很好的问题。经过努力,我终于为你找到了出路

在viewController.swift文件中

import UIKit

//Add this line before your class definition
var homeController: ViewController!

class ViewController: UIViewController {
    .......

    override func viewDidLoad() {
        super.viewDidLoad()
        home = self
        .....
    }

}
在后视图控制器中,可以访问前视图控制器的成员


希望这有帮助:-

我在prepareForSegue中使用它来传递适合我的数据

 if ([[segue identifier] isEqualToString:@"SWReveal"]) {

       SWRevealViewController *destination = [segue destinationViewController];
       [destination loadView];
       UINavigationController *navViewController = (UINavigationController *) [destination rearViewController];

       if ([navViewController.topViewController isKindOfClass:[MenuViewController class]]) {

          MenuViewController* menuVC = (MenuViewController*)navViewController.topViewController;
          menuVC.title = @"Menu";
        } 
    }

希望对您有所帮助

SWRevealViewController有两个属性引用两个视图控制器:rearViewController和frontViewController。所以你应该这样做:

    class RearViewController: UIViewController {
    var mainView : ViewController!

    override func viewDidLoad() {
       super.viewDidLoad() 
       mainView = self.revealViewController().frontViewController
    }

}

这是不够的信息。哪个类推送这些视图控制器?用户如何来回导航?为什么要将一个视图控制器传递给另一个视图控制器,而不是仅仅发送一些特定的数据?主视图控制器中的主数据是一个数组,我需要一个引用,而不是这个数组的副本,所以我传递的是整个视图,如果这是一个糟糕的解决方案,请告诉我如何通过引用快速传递:后视图作为一个侧菜单,它是通过点击菜单按钮启动的,这两个视图控制器都是自定义类、主视图-视图控制器、菜单视图-菜单视图控制器。