我和swift一起工作,我的情况很简单。我想调用新的UiViewController表单回调函数,我的代码在这里
var orderActions=OrderServices();
orderActions.addOrder(self.order, controller: self,orderServiceCallback:{
(data:AnyObject?,err:String?) in
if( err == nil ){
var booking=self.getControllerByStoryBoardIdentifier(BookingViewController.getIdentifier()) as! BookingViewController;
self.presentViewController(booking, animated: true, completion: nil);
}
});
此代码未调用BookingViewController
,但它没有addOrder
函数
错误消息在这里:
Warning: Attempt to present <BookingViewController: 0x7f94ec810f40> on <MainViewController: 0x7f94e37385e0> which is already presenting (null)
p.s我使用了Alamofire库
答案 0 :(得分:0)
您需要像这样实例化视图控制器
var booking = storyboard.instantiateViewControllerWithIdentifier("Loginn") as! BookingViewController
self.presentViewController(booking, animated: true, completion: nil);
答案 1 :(得分:0)
感谢大家的帮助,我找到了答案,就是这样。
UIKit不是线程安全的。 UI应该只从主线程更新。
在我的情况下,我的代码必须在
中dispatch_async(dispatch_get_main_queue()) {
}