OC的小括号内联复合表达式,(厉害啊: UIView)

OC的小括号内联复合表达式
A compound statement enclosed in parentheses

RETURN_VALUE_RECEIVER = {(
    // Do whatever you want
    RETURN_VALUE; // 返回值
)};

这样写比较少见,

 例子1

[self.view addSubview:({
        _addPhotoButton = [UIButton buttonWithType:UIButtonTypeContactAdd];
        _addPhotoButton.frame = CGRectMake(0, 25, 44, 44);
        [_addPhotoButton addTarget:self action:@selector(addPhotoButtonClick) forControlEvents:UIControlEventTouchUpInside];
        _addPhotoButton;
    })];
    ```


 例子2


[self.view addSubview:({

    [[UIView alloc ] init ];
}) ];

#优点:
 有点像block和内联函数的结合体,它最大的意义在于将代码整理分块,将同一个逻辑层级的代码包在一起;
同时对于一个无需复用小段逻辑,也免去了重量级的调用函数。这样使得代码量增大时层次仍然能比较明确。
此外,返回值和代码块结束点必须在结尾。


## 引用文档:
[objc非主流代码技巧](http://blog.sunnyxx.com/2014/08/02/objc-weird-code/)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文地址:http://blog.sunnyxx.com/2014/08/02/objc-weird-code/ ...
    默默_David阅读 251评论 0 1
  • 我是前言 看开源代码时,总会看到一些大神级别的代码,给人眼前一亮的感觉,多数都是被淡忘的C语言语法,总结下objc...
    spectatorNan阅读 740评论 0 3
  • 本文转自:孙源大大的技术博客:http://blog.sunnyxx.com/2014/08/02/objc-we...
    Candy7阅读 1,515评论 8 11
  • 一片掉落的叶 写满了蝉的回音 悄悄的 你来了 野菊花开始霸占山野 青涩的柿子在枝头奋力成长 晨风带来稻子黄了的消息...
    萧路遥阅读 342评论 4 4
  • 为了实践用思维导图记笔记,我结合正在复习的执业医师考试知识点对几个系统的知识进行了梳理,导图为个人原创,供学习和交...
    雕兄_KYP阅读 4,801评论 2 5