OC语言学习23-Block在类中的应用
来源:互联网 发布:床垫哪个品牌好 知乎 编辑:程序博客网 时间:2024/05/28 01:36
创建Mother类和OldWoman类:
Mother.h中的代码:
#import <Foundation/Foundation.h>
@interface Mother : NSObject
@property(nonatomic,copy)NSString *name;
//block作为属性运用
@property(nonatomic,copy)void(^actionBlock)();
//block当参数传递
-(void)goOutsideWithAction:(void (^)())action;
-(void)cooking;
@end
#import "Mother.h"
@implementation Mother
-(void)goOutsideWithAction:(void (^)())action
{
NSLog(@"去上班了");
action();
}
-(void)cooking
{
NSLog(@"我去做饭了");
// self.actionBlock();
if(self.actionBlock) {
self.actionBlock();
}
}
@end
OldWoman.h中的代码:
#import <Foundation/Foundation.h>
@interface OldWoman : NSObject
-(void)lookAfterBaby;
@end
#import "OldWoman.h"
@implementation OldWoman
-(void)lookAfterBaby
{
NSLog(@"我帮你照顾宝宝");
}
@end
main.m中代码
#import <Foundation/Foundation.h>
#import "Mother.h"
#import "OldWoman.h"
int main(int argc,const char * argv[]) {
@autoreleasepool {
Mother *mother = [[Motheralloc] init];
OldWoman *oldWoman = [[OldWomanalloc] init];
/*mother执行goOutsideWithAction方法后
通知oldWoman执行lookAfterBaby方法*/
[mother goOutsideWithAction:^{
[oldWoman lookAfterBaby];
}];
/*因为block作为属性自动生成setter和getter方法
mother可以直接执行setActionBlock方法然后
通知oldWoman执行lookAfterBaby方法*/
[mother setActionBlock:^{
[oldWoman lookAfterBaby];
}];
[mother cooking];
}
return0;
}
- OC语言学习23-Block在类中的应用
- OC语言中的block
- OC语言中的block数据类型
- OC语言中的block数据类型
- OC语言中的类学习
- OC语言学习22-Block基本语法
- ios学习笔记之block在ios开发中的应用
- ios学习笔记之block在ios开发中的应用
- ios学习笔记之block在ios开发中的应用
- ios学习笔记之block在ios开发中的应用
- ios学习笔记之block在ios开发中的应用
- OC语言之block
- OC语言--BLOCK
- OC语言之block
- OC block 简单应用
- oc中的block,认识block
- OC中的block数据类型
- OC中的Block属性
- SQL:将查询结果插入到另一个表的三种情况
- MySQL中如何使用布尔类型
- React-native View组件transform样式
- 关于PaxCompiler字符串注意的问题
- cmd命令行下运行不了.py文件,但是编译器运行没问题,报错MoudleFoundError
- OC语言学习23-Block在类中的应用
- **
- Tensorflow常用函数笔记
- 【CQOI2016】手机号码
- A
- 记FreeCodeCamp中遇到的题目--js
- Spark-SQL之DataFrame操作大全
- 12. Servlet 页面点击计数器
- SIFT算法详解