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

Pass data to rear view using SWrevealviewcontroller

我需要使用 SWRevealViewController 将前面 ViewController 传递到后面 ViewController,但我完全不知道该怎么做。

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

var mainView : ViewController!

关于如何传递到它前面的任何建议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
    }

}