block 的基本使用
block在iOS中是一个神奇的存在,既像是面向过程的函数又像是面向对象的对象实例,实质上是一个匿名函数.如果能够很好的利用它就就可以很方面地控制数据流程,使代码结构更加清晰,逻辑实现更加明了易读. 1 如何定义一个block 直接在使用的地方定义 例如我们需要一个没有返回值没有参数的block:如果参数为空,后边的()可以省略. void (^blockWithNoValueAndParameter)(void) = ^(){ //code here do what you want }; 或者 void (^blockWithNoValueAndParameter)(NSString *) = ^{ //code here do what you want }; 或者需要一个有参数无返回值的block: void(^blockWithNoValueBlock)(NSString *) = ^(NSString *str) { NSLog("content == %@", str); }; 或者有参数有返回值的block: NSString *(^block)(NSString *) = ^NSString *(NSString *str) { NSString *_str = str; if (![_str hasPrefix:@"_aspects_"]) { _str = [