本文介绍: Object–c 中的block就好像一段C函数般,由函数名,有返回值,有参数,由函数体等1.简单的block^(int A ,int B){ int C=A*B; return C;};2、还可以将block定义成一个typedef:typedef (int) (^sum) (int,int);@property (nonatuomic,assign) sum sumBlock;3、使用block可以构建一个简单的回掉,下面是核心代码实现:Comp
Object-c 中的block就好像一段C函数般,由函数名,有返回值,有参数,由函数体等
^(int A ,int B)
{
int C=A*B;
return C;
};
typedef (int) (^sum) (int,int);
@property (nonatuomic,assign) sum sumBlock;
void (^sumBlock)(int ,int ) = ^(int a,int b){
NSLog(@"%d + %d = %d",a,b,a+b);
};
NSString* (^logBlock)(NSString *,NSString *) = ^(NSString * str1,NSString *str2){
return [NSString stringWithFormat:@"%@%@",str1,str2];
};
// 调用logBlock,输出的是 我是Block
NSLog(@"%@", logBlock(@"我是",@"Block"));
5、使用block可以构建一个简单的回掉,下面是核心代码实现:
//
// ComponentBlock.h
// ZWLimitCounterDemo
//
// Created by nan on 2021/12/8.
// Copyright © 2021 wang_ziwu. All rights reserved.
//
#ifndef ComponentBlock_h
#define ComponentBlock_h
// ComponentBlock.h
// Memory
// Created by ludashi on 14-8-19.
// Copyright (c) 2014年 Mr.li. All rights reserved.
//
#import <Foundation/Foundation.h>
//定义Block块类型的变量
typedef void (^BlockType) (NSString *parameter);
@interface ComponentBlock : NSObject
//声明Block类型的变量
@property (nonatomic, strong)BlockType blockDemo;
//接受要回调的代码块,把接受的代码块赋给成员变量blockDemo
-(void)setBlockDemoTest:(BlockType)blockDemo;
//执行代码块的方法
-(void)runBlock;
@end
#endif /* ComponentBlock_h */
//
// ComponentBlock.m
// ZWLimitCounterDemo
//
// Created by nan on 2021/12/8.
// Copyright © 2021 wang_ziwu. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ComponentBlock.h"
@implementation ComponentBlock
-(void)setBlockDemoTest:(BlockType)blockDemo
{
self.blockDemo = blockDemo;
}
-(void)runBlock
{
self.blockDemo(@"我是组件提供的参数");
}
@end
main.m
#import <Foundation/Foundation.h>
#import "ComponentBlock.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
ComponentBlock *component;
component = [ComponentBlock new];
//进行代码块的回调
[component setBlockDemoTest:^void (NSString *parameter)
{
self.firstTextView.text=parameter;
//打印回调的参数
NSLog(@"%@", parameter);
}];
};
[component runBlock];
}
return 0;
}
原文地址:https://blog.csdn.net/thehunters/article/details/121851808
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_32364.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。