Objective-C 中的块、位运算与 C 字符串
1. 块(Block)相关知识
1.1 使用 typedef 简化块声明
块的语法有时会让人感到困惑,但可以使用 typedef 关键字让它更友好。 typedef 通常放在文件顶部或头文件中,且在任何方法实现之外。例如,在 main.m 中添加如下代码:
#import <Foundation/Foundation.h>
typedef void (^ArrayEnumerationBlock)(id, NSUInteger, BOOL *);
int main (int argc, const char * argv[])
{
// 代码内容
}
这里定义了一个名为 ArrayEnumerationBlock 的类型,它看起来和块变量声明很像,但这里是定义类型而非变量。这样可以简化类似块的声明,比如原本的 void (^devowelizer)(id, NSUInteger, BOOL *); 可以替换为 ArrayEnumerationBlock devowelizer; 。
1.2 块的返回值
当块返回一个值时,可以像调用函数一样调用块变量。示例代码如下:
double (^divBlock)(doubl
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



