And*_*ill 6 objective-c uiviewcontroller ios5
void (^)(void)UIViewController方法实现的'completion'参数类型的语法:
- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void (^)(void))completion
Run Code Online (Sandbox Code Playgroud)
激起了我的好奇心,我一直无法找到任何文件.请有人帮忙解释一下其目的/含义吗?
提前谢谢了.
mat*_*att 12
这是我书中块的讨论:
http://www.apeth.com/iOSBook/ch03.html#_blocks
那里有一个例子,但是这里有一个更接近您所询问的事情的例子:
[self transitionFromViewController:fromvc
toViewController:tovc
duration:0.4
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:nil
completion:^(BOOL done){
[tovc didMoveToParentViewController:self];
[fromvc removeFromParentViewController];
}];
Run Code Online (Sandbox Code Playgroud)
完成块采用一个参数,一个名为"done"的BOOL,但其代码不使用它.想法是执行动画,然后运行完成块中的代码.
对块体感到满意是非常重要的,因为它们是未来的方式.例如,iOS 4中的视图动画使用它们,如我书中"基于块的视图动画"部分所述(首先阅读旧方法,然后阅读有关新iOS 4的方法):
http://www.apeth.com/iOSBook/ch17.html#_view_animation
在iOS 5中,块更为重要; 越来越多的情况下它们不是可选的.
块也是使用GCD(大中央调度)的方式,这是进行多线程的最佳方式.
| 归档时间: |
|
| 查看次数: |
14381 次 |
| 最近记录: |