Ios 目标-C.与代表一起解职VC

Ios 目标-C.与代表一起解职VC,ios,objective-c,Ios,Objective C,我有一个VC,我们叫它UserInfoVC,它是UIViewController的一个子类。用户InfoVC持有另一个UIView。该UIView包含一个UIButton。 使用自定义协议,从带有UIButton的UIView,当点击按钮时,我想忽略UserInfoVC(vc是以模式呈现的) 所以我在UserInfoVC中创建了这个方法 接下来,从协议方法调用该方法,如下所示: - (void)didTapGetFollowersForUser:(User *)user { if (se

我有一个VC,我们叫它UserInfoVC,它是UIViewController的一个子类。用户InfoVC持有另一个UIView。该UIView包含一个UIButton。 使用自定义协议,从带有UIButton的UIView,当点击按钮时,我想忽略UserInfoVC(vc是以模式呈现的)

所以我在UserInfoVC中创建了这个方法

接下来,从协议方法调用该方法,如下所示:

- (void)didTapGetFollowersForUser:(User *)user {
    if (self.user.followers == 0) {
        NSLog(@"No followers for that guy, sorry");
    } else {
        [self dismissVC];
        [self.delegate didRequestFollowersForUsername:user.login];
    }
}
我收到了错误表单
[self dismissVC]
行:线程1:EXC\u BAD\u访问(代码=2,地址=0x16cb87ff0)

我想补充一点,我目前正在学习Objective-C。我正在尝试翻译我以前的一些项目,看看其中的差异。Swift中完全相同的代码对我来说很好


非常感谢您的帮助。

您使用此方法创建了一个无限循环:

-(void)dismissVC {
    [self dismissVC];
}

[self dismissVC]
调用将调用相同的方法。

谢谢你,伙计,我不知道我怎么没有看到它!你知道为什么在我的VC中创建一个方法并从协议方法调用它时它不起作用吗?我这样创建了它,并调用了相同的错误persist-(void)dismissvcmodly{[self dismissViewControllerAnimated:YES completion:nil];}您不能关闭相同的UIViewController,必须在ViewController中调用Disclesh,它显示了
UserInfoVC
我正在查看我在Swift中编程所遵循的课程中的代码。同样的方法在那里也适用。你知道这有什么不同吗?你的
UserInfoVC
可能是由另一个VC提供的,我们称之为
UsersVC
dismissvcmodly
方法应调用
UsersVC
上的方法,该方法调用
dismissViewControllerAnimated
方法。另一个选项是在
UserInfoVC
中调用
removeFromParent
,而不是
dismissViewControllerAnimated
-(void)dismissVC {
    [self dismissVC];
}