我们如何"排队" ViewControllers要逐个推送?
我的应用程序检查"朋友请求的数量"我想一个一个地推到另一个。
Check for Requests
找到3个请求
Push FriendRequestViewController
用户按OK
Push Another FriendRequestViewController
用户按OK
Push Another FriendRequestViewController
完成
我尝试过使用循环,但它会立即从currentViewController推送三个viewcontrollers。
for request in friendRequests
{
let friendRequestViewController = FriendRequestViewController();
friendRequestViewController.request = request;
self.navigationController.presentViewController(friendRequestViewController);
}
有什么想法吗?谢谢你
答案 0 :(得分:1)
我可以想到像声明协议
这样的东西protocol FriendRequestControllerDelegate {
func friendRequestContollerConfirmed(friendRequestController : FriendRequestViewController)
}
然后,在呈现好友请求的对象
//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);
}
}
首先提出好友请求的地方只需调用此函数
在FriendRequestController中,让自己成为你的目标Ok按钮。
func okButtonTapped() {
if(self.delegate.respondsToSelector:Selector(friendRequestContollerConfirmed)) {
self.delegate.friendRequestContollerConfirmed(self)
}
}