我们如何“排队”将ViewController逐一推送?
我的应用检查“ friend 请求”的数量,我想一个接一个地推送。
Check for Requests
找到3个请求
Push FriendRequestViewController
用户按确定
Push Another FriendRequestViewController
用户按确定
Push Another FriendRequestViewController
完成了
我已经尝试过使用循环,但是它只会将三个viewcontrollers推离currentViewController。
for request in friendRequests
{
let friendRequestViewController = FriendRequestViewController();
friendRequestViewController.request = request;
self.navigationController.presentViewController(friendRequestViewController);
}
任何的想法?谢谢
最佳答案
我可以想到诸如声明协议之类的东西
protocol FriendRequestControllerDelegate {
func friendRequestContollerConfirmed(friendRequestController : FriendRequestViewController)
}
然后,在提出 friend 请求的对象中
//somewhere you have requestsEnumerator
func friendRequestContollerConfirmed(friendRequestController : FriendRequestViewController) {
request = requestsEnumerator.nextObject();
if request {
let friendRequestViewController = FriendRequestViewController();
friendRequestViewController.request = request;
friendRequestViewController.delegate = self;
self.navigationController.presentViewController(friendRequestViewController);
}
}
在您第一次提出 friend 请求的地方,只需调用此函数
在FriendRequestController中,使自己成为您的Ok按钮的目标。
func okButtonTapped() {
if(self.delegate.respondsToSelector:Selector(friendRequestContollerConfirmed)) {
self.delegate.friendRequestContollerConfirmed(self)
}
}
关于ios - 排队ViewController将被一一推送,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30873449/