gpt4 book ai didi

objective-c - UIViewController dismissViewControllerAnimated 完成参数类型语法

转载 作者:太空狗 更新时间:2023-10-30 03:40:18 52 4
gpt4 key购买 nike

UIViewController 方法实现的 'completion' 参数类型的 void (^)(void) 语法:

- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void (^)(void))completion

激起了我的好奇心,但我一直找不到它的任何文档。请有人帮忙解释一下它的用途/含义吗?

非常感谢。

最佳答案

这是我书中关于 block 的讨论:

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];
}];

完成 block 有一个参数,一个名为“done”的 bool 值,但它的代码不使用这个参数。这个想法是执行动画,然后运行完成 block 中的代码。

适应积木非常重要,因为它们是 future 的方式。例如,iOS 4 中的 View 动画使用它们,如我的书的“基于 block 的 View 动画”部分所述(首先阅读旧方法,然后阅读新的 iOS 4 方法):

http://www.apeth.com/iOSBook/ch17.html#_view_animation

在 iOS 5 中 block 更加重要;它们不是可选的情况越来越多。

block 也是使用 GCD(grand central dispatch)的方式,这无疑是执行多线程的最佳方式。

关于objective-c - UIViewController dismissViewControllerAnimated 完成参数类型语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8021593/

52 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com