我有一个类(称为类A),它创建另一个类的实例(称为类B)。在A类中,我调用B类的功能,打开相机读取QR码。检测到QR码后,使用以下行解除相机输入:
[[[[[UIApplication sharedApplication] delegate] window] rootViewController] dismissModalViewControllerAnimated:YES];
现在在A类中我想使用这个事件处理程序做其他事情(主要是使用我从QR代码中获得的nsstring)所以我想使用-(void)dismissModalViewControllerAnimated:(BOOL)animated
方法。但我注意到以下内容
- 如果我的方法是一个空的身体,读者不会被解雇
- 如果我有方法,其中包含任何内容,应用程序无限期地调用函数,应用程序崩溃和/或XCode冻结并最终崩溃
有什么替代我正在做的事情吗?理想情况下,我想做类似的事情:
-(void)dismissModalViewControllerAnimated:(BOOL)animated{
[self dismissModalViewControllerAnimated: YES];
DisplayLabel.text=output;
}
谢谢!
答案 0 :(得分:2)
你的例子,就是它自己调用,会导致没有退出条件的递归,除非你打算将消息传递给super
而不是self
。