ios - 没有返回值的 block

标签 ios objective-c objective-c-blocks

是否有适当的方法在Objective-C中编写没有返回值的块?我看到的所有示例都带有返回值。有人也可以请您解释完成区块和常规区块之间的区别吗?我知道^表示它是一个块,但是+(void)之前的意思不是它也是一个块吗?

最佳答案

这是一个演示:
1,无返回值,无参数:

- (void)viewDidLoad {
[super viewDidLoad];

//block
void(^myBlock)(void)  = ^(void) {
    NSLog(@"This is a block without parameter and returned value");
};
myBlock();

2,无返回值,有参数:
-(void)blockWithParameterButNoReturnData
{
    void(^myBlock)(int) = ^(int num) {
        NSLog(@"%d",num*100);
    };
    myBlock(4);
}

3,具有重运行值并具有参数:
-(void)blockWithParameterAndReturnValue
{
    int (^myBlock)(int) = ^(int num) {
        return num * 100;
    };
   int result =  myBlock(2);
    NSLog(@"This is a block with parameter and return value :%d",result);
}

PS:有关更多信息,请访问此网站:http://www.cnblogs.com/zhanggui/p/4656440.html

关于ios - 没有返回值的 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508513/

相关文章:

ios - 数组中的 Swift 闭包在 Objective-c 中变为 nil

javascript - ionic 应用程序崩溃问题

android - 什么是 Canvas 的 iOS 等价物?

objective-c - 设计用于下载和显示图像的异步过程

ios - 在 iOS 上使用 MTAudioProcessingTap 进行 FFT

ios - 如何调用另一个类中定义为属性的 block ?

ios - 将只读标题放入 UITextField

objective-c - NSLog,如何为不同大小的字段生成固定宽度的输出?

ios - BugClipper 集成问题

swift - 如何在 swift 中执行 block 样式函数