我正在使用ECSliding,我遇到了这个问题!
我有一个topView和两个菜单,
left (LeftViewController)
right (RightViewController)
UIViewController
。
我想在AppDelegate中向左视图控制器提供右视图控制器的引用。
我在LeftViewController.h
做过:
#import "RightViewController.h"
@class RightViewController;
@property (strong, monatomic) RightViewController *rightView;
<{1}}中的didFinishLaunchingWithOptions
中的:
AppDelegate.m
但我在RightViewController *rightViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Right"];
LeftViewController *leftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Left"];
leftViewController.rightView = rightViewController;
上的AppDelegate.m
收到了此错误:
self.storyboard
我该如何解决这个问题?
答案 0 :(得分:0)
首先,AppDelegate没有属性storyboard
,它是一个UIViewController属性。
其次,如果要加载主故事板并实例化视图控制器,则应尝试以下操作:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"YourStoryboardName" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"YourViewController"];
还要确保正确设置了视图控制器标识符。
答案 1 :(得分:0)
不要静静地给予他们彼此的参考。相反,当它们是滑动视图控制器self.slidingViewController
的一部分时,它将是一个有效的引用,您可以根据实际存在的关系进行导航:
self.slidingViewController.underLeftViewController
使用它时,您应该检查类并转换引用:
LeftViewController *leftController = self.slidingViewController.underLeftViewController;
if ([leftController isKindOfClass:[LeftViewController class]]) {
leftController. ...;
}