gpt4 book ai didi

methods - Objective-C 中方法和 block 的区别

转载 作者:行者123 更新时间:2023-12-04 22:57:53 25 4
gpt4 key购买 nike

我对编程比较陌生,有一件事我无法解决。也就是说,什么是 block 以及为什么/何时使用它们? block 和方法有什么区别?在我看来,他们似乎在做同样的事情。

有人可以向我解释一下吗?

是的,我确实在谷歌上花了几个小时才终于来这里问。

最佳答案

  • block 是匿名函数。
  • block 用于稍后执行,但函数不能用于稍后执行。
  • block 通常用于回调(无需使用委托(delegate))
  • block 是对象,但函数不是对象。

  • 假设您要执行一个操作,如 View 上的动画,并希望在完成后得到通知。然后你必须编写这段代码:
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(animationDidStop:context:)];
    [UIView commitAnimations];

    但是,如果您使用如下 block ,则需要几行代码:
    [UIView animateWithDuration:2.0 animations:^{
    // set up animation
    } completion:^{
    // this will be executed on completion
    }];

    希望您现在清楚该 block 的使用。

    关于methods - Objective-C 中方法和 block 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36849546/

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