Ios SWRevealViewController是否正确关闭以导航到下一个情节提要?

Ios SWRevealViewController是否正确关闭以导航到下一个情节提要?,ios,objective-c,navigation,dismiss,Ios,Objective C,Navigation,Dismiss,我有2个故事板login.storyboard和main.storybard。在*main.storyboard上,我使用。在SWRevealViewController的侧边栏菜单中,我有一个注销功能,可以注销并重定向到login.storyboard。通过这样做,我得到了警告: Warning: Attempt to present <LoginViewController: 0x1551a630> on <SidePanelViewController: 0x15645

我有2个故事板login.storyboard和main.storybard。在*main.storyboard上,我使用。在SWRevealViewController的侧边栏菜单中,我有一个注销功能,可以注销并重定向到login.storyboard。通过这样做,我得到了警告:

Warning: Attempt to present <LoginViewController: 0x1551a630>  on <SidePanelViewController: 0x15645110> which is already presenting (null)
警告:尝试呈现已呈现的内容(null)
我认为SidePanelViewController(即SWRevealViewController)没有正确地显示

我如何准确地做到这一点,以避免此问题?

SidePanelViewController.h
#导入
#导入“SingletonClass.h”
@界面侧面板ViewController:UITableViewController
@属性(非原子,强)SingletonClass*sshare;
@结束
SidePanelViewController.m
#导入“SidePanelViewController.h”
#导入“SWRevealViewController.h”
#进口
@接口侧面板视图控制器()
@属性(非原子,强)NSArray*menuItems;
@结束
@实现侧面板视图控制器
-(id)initWithStyle:(UITableViewStyle)样式
{
self=[super initWithStyle:style];
如果(自我){
//自定义初始化
DLog(@“inited”);
}
回归自我;
}
-(无效)viewDidLoad
{
[超级视图下载];
self.sshare=[SingletonClass sharedInstance];
self.menuItems=@[@“toSurroundStream”、@“toImprint”、@“logout”];
}
#pragma标记-表视图数据源
-(NSInteger)表格视图中的节数:(UITableView*)表格视图
{
返回1;
}
-(NSInteger)表视图:(UITableView*)表视图行数节:(NSInteger)节
{
返回[self.menuItems count];
}
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
NSString*CellIdentifier=[self-getCellName:indexPath];
UITableViewCell*单元格=[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
//配置单元格。。。
if(indexPath.row==0){
cell.textLabel.text=[NSString stringWithFormat:@“%@”的流,self.sshare.username];
}
返回单元;
}
-(NSString*)getCellName:(NSIndexPath*)indexPath{
NSAssert(self.menuItems,@“menuItems丢失”);
NSString*cellName=@“nix”;
if(indexPath.row
这似乎有效,至少我没有再次收到警告消息,而且应用程序工作正常

SidePanelViewController.m
-(iAction)toLoginView{
UIStoryboard*loginStoryboard=[UIStoryboard Storyboard,名称:@“Login”bundle:nil];
UIViewController*loginViewController=[loginStoryboard实例化初始ViewController];
loginViewController.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;
//[自我解除视图控制器激活:未完成:无];
[[self-presentedViewController]解除ViewControllerInitiated:未完成:无];
[self-presentViewController:loginViewController动画:无完成:无];
}

这似乎有效,至少我没有再次收到警告消息,而且应用程序工作正常

SidePanelViewController.m
-(iAction)toLoginView{
UIStoryboard*loginStoryboard=[UIStoryboard Storyboard,名称:@“Login”bundle:nil];
UIViewController*loginViewController=[loginStoryboard实例化初始ViewController];
loginViewController.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;
//[自我解除视图控制器激活:未完成:无];
[[self-presentedViewController]解除ViewControllerInitiated:未完成:无];
[self-presentViewController:loginViewController动画:无完成:无];
}

为什么要使用两个故事板-将这些视图放在一个故事板中不是更简单吗?不同的原因:你的故事板没有混乱,逻辑上是部分分离的,如果有更多的开发人员使用它,你可以将其分为多个部分,并且没有麻烦地合并故事板。这是一种有趣的方法。从来没有像现在这样想过那你为什么要用两个故事板-w