对于 OC(Objective-C,苹果推出的自家编程语言) 的争论一直不休,对于一门语言,我觉得只要能解决你的问题就够了。
评论一门编程语言的好坏之前,需要我们真正的去用它,OC 孰好孰坏,需要你自己去尝试。
OC 坑集,主要记载使用 OC 开发项目遇到的问题,尽量简洁明了,希望大家喜欢。
block
语句块可以作为函数的参数, 在项目中都经常被作为回调来使用。
如果你还不熟悉 block
语法,请自行 google,这里不讲 block
语法。我们下面直接进入主题。
创建一个 OC 类
1 |
|
1 |
|
main.m
1 |
|
大家看到这里,应该觉得没什么问题。
我刚开始也是行事冲冲的,但编译器给了个大大的 Error, 大致意思是参数丢失。
经过一番思想上面的斗争,终于解决了问题。
在声明带有 block
语句的方法时,需要带上参数名称或者调用者自己写上参数名称。
1 | - (void)makeFool:(void(^)(NSString *param))callback; |
重新给它整上,如下:
1 |
|
使用 block
作为函数参数的时候,建议使用 typedef
定义 block
.
1 | typedef void (^OnFoolCallback)(NSString *name); |
定义和实现
1 | - (void)productFool:(OnFoolCallback)callback; |
1 | - (void)productFool:(OnFoolCallback)callback |
测试和使用,如下:
1 |
|
盼望疫情早日结束,每个人都能回归到正常的生活当中去!