iOS 跳转出现attempt to dismiss modal view controller whose view does not currently ……的解决方案

今天在设置修改密码成功进行跳转到登录页面重新登录的时候,我写的原代码是:

 [self dismissViewControllerAnimated:YES completion:nil];
        
 [UIApplication sharedApplication].keyWindow.rootViewController = [[loginViewController alloc]init];

于是出现了在本页面跳到登录页面,然后又切回到本页面的状况。如图:

首先是修改密码的页面:


点击确认以后,跳转到登录页面:



但是在登录页面闪一下又回到了修改密码的页面:



刚开始我很崩溃呀,后来在网上搜,也没有什么效果,自己捣鼓了一会儿,把代码改了一下就OK了,修改的代码是:

        // 销毁该控制器

[self dismissViewControllerAnimated:YES completion:nil];
        // 返回登陆首页
loginViewController *login = [[loginViewController alloc]init];
UIWindow *window = [[UIApplication sharedApplication].windows objectAtIndex:0];
window.rootViewController = login;


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
出现"An attempt was made to call a method that does not exist"的错误时,意味着尝试调用一个不存在的方法。这通常是由于以下几种原因之一引起的: 1. 方法名称拼写错误:请检查代码中尝试调用的方法名称是否正确拼写。确保方法名称与其定义的方法名称完全匹配。 2. 方法不存在于当前作用域中:确保你正在调用的方法在当前作用域中是可见的。如果方法定义在其他类或包中,你需要通过正确的类名或包名来调用它。 3. 方法参数错误:如果方法在定义时具有参数,你需要确保调用方法时提供的参数与方法定义中的参数类型和数量匹配。 为了解决这个问题,你可以采取以下步骤: 1. 检查方法名称的拼写:仔细检查代码中尝试调用的方法名称,确保没有任何拼写错误。 2. 确认方法的可见性:确保你正在调用的方法在当前作用域中是可见的。如果方法定义在其他类或包中,你需要使用正确的类名或包名来调用它。 3. 检查方法参数:如果方法在定义时具有参数,请确保调用方法时提供的参数与方法定义中的参数类型和数量匹配。 4. 确认方法是否存在:如果以上步骤都没有解决问题,那么可能是因为你尝试调用的方法根本不存在。在这种情况下,你需要检查代码是否正确引入了包和类,并确保方法确实存在于所引用的类中。 综上所述,当出现"An attempt was made to call a method that does not exist"的错误时,你应该仔细检查方法名称的拼写,确认方法的可见性,检查方法的参数,并确保方法确实存在于所引用的类中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值