【发布时间】:2014-11-25 16:55:43
【问题描述】:
我有控制器 A,它推动控制器扫描代码。扫描代码时,它使用委托将字符串发送回控制器 A。之后,扫描控制器被弹出。暂时没问题。
但是在控制器 A 的委托中,我需要检查结果并使用这些数据。在某些情况下,必须推动另一个控制器 B。这是行不通的。屏幕停留在扫描控制器上,它只是闪烁 1 秒或更短。
据我了解,当扫描控制器在屏幕上时,代理推动控制器 B,然后扫描控制器调用弹出。
我的扫描控制器中有这个:
if ([self.delegate respondsToSelector:@selector(QrcodeHasFound:)]) {
[self.delegate QrcodeHasFound:[metadataObj stringValue]];
}
[self.navigationController performSelectorOnMainThread:@selector(popViewControllerAnimated:) withObject:nil waitUntilDone:NO];
这在我的委托中:
- (void)QrcodeHasFound:(NSString *)value{
// do some data use
ArticleController *mController = [self.storyboard instantiateViewControllerWithIdentifier:@"articleController"];
[self.navigationController pushViewController:mController animated:YES];
}
我应该如何解决这个问题?
【问题讨论】:
标签: ios objective-c xcode uiviewcontroller delegates