博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
typedef
阅读量:6227 次
发布时间:2019-06-21

本文共 1210 字,大约阅读时间需要 4 分钟。

iOS 当封装网络请求的时候你可能会遇到一个问题,在你的公共方法中需要传入block的时候应该怎么写,然后我就参考了一下AFNetworking,AFN的是直接把block写在参数里

- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString                             parameters:(nullable id)parameters                               progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress                                success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success                                failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;复制代码

但是这样太冗余了,有没有简化的方法呢 ###typedef 关键字就能解决这个问题

typedef void(^uploadProgress)(NSProgress *uploadProgress);typedef void(^success)(NSURLSessionTask *task, id responseObject);typedef void(^failure)(NSURLSessionTask *task, NSError *error);@property (nonatomic, copy) void(^managerBlock)(NSString *string);- (NSURLSessionDataTask *)POST:(NSString *)URLString parameters:(id)dict progress:(uploadProgress)uploadProgress success:(success)success failure:(failure)failure;复制代码

但是typedef这个关键字是什么意思呢?

举个简单例子

typedef NSString *myStr;   myStr name = @"nameTest";   NSLog(@"%@", name);复制代码

此时myStr就相当于NSString *,那我们就可以说typedef可以定义类型别名

mark:typedef只能改变类型名,不能更改对象名

转载地址:http://dsnna.baihongyu.com/

你可能感兴趣的文章
畅通工程(并查集找根节点)
查看>>
【工具使用】sublime text3
查看>>
SQL Server查询优化器的工作原理
查看>>
关于成长的一点碎碎念
查看>>
java生成指定范围的随机数
查看>>
Easy ui Datagrid(下拉、复选、只输入数字、文本) 追加、删除、更改
查看>>
20145209刘一阳 《网络对抗》逆向及BOF基础实践
查看>>
Groovy's dynamic mixin
查看>>
2018.10.27-dtoj-3996-Lesson5!(johnny)
查看>>
LCLFramework框架之数据门户
查看>>
python基础-----集合(在我的世界你是唯一)
查看>>
【转】Closeable, Readable, Flushable, Appendable
查看>>
css
查看>>
Java 语言中 Enum 类型的使用介绍
查看>>
Git and Subversion
查看>>
用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话
查看>>
opencv ,亮度调整【【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整...
查看>>
名校推荐20本英文经典书(留着)
查看>>
反射机制(Java)
查看>>
【leetcode】Permutations
查看>>