presentViewController的回调方法
我在presentViewController方法及其最后一个参数时遇到了问题。presentViewController的回调方法
[self presentViewController:navigationController animated:YES completion:nil];
我是新的Objective-C语法,找不到应传递给'completion'参数的对象。 (也没有发现任何使用它的例子)
我想在我的View Controller关闭时有回调方法。
感谢,
米洛斯
这是一个block
的地方。
在呈现的视图控制器上调用viewDidAppear:方法为 之后调用完成处理程序。
对于解雇操作,您可以将您的代码置于viewWillDisappear:
或viewDidDisappear:
方法中。
这种方法不会给你你想要的。完成块用于当视图控制器完成时呈现,而不是当它被解散时。当控制器被解雇时,您需要使用不同的模式(例如委派)来获取回调。
完成处理程序的viewDidAppear之后调用:方法是 称为所呈现的视图控制器上。
Thnaks,我尝试了某种形式的授权,但一直未能实现。你能指点我一些关于代表团的教程吗? – 2012-03-02 08:18:12
实施例:
[self presentViewController:navigationController
animated:YES
completion:^(){
//put your code here
}];
该块不带参数。其他块可能需要参数,你可以像这样的例子来定义它们:
^(BOOL bFinished){
//put your code here
}
谢谢你的例子! 不幸的是,它不会像其他人提到的那样给出解决方案,但至少我发现了如何编写完成块。 – 2012-03-02 08:16:33
为什么这是upvoted?答案是错误的。 presentViewController中的完成处理程序在APPEARS时运行,而不是在OP请求时DISAPPEARS时运行。 – 2016-09-14 19:53:07
谢谢,把操作放在viewDidDisappear上就像一个魅力! – 2012-03-02 08:27:53