我们如何“排队”将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/

10-14 02:24