iOS 复合语句表达式

如何炫酷的完成view的初始化?
- (UIView *)view
{
    if (!_view) {
        _view = ({
            UIView * view = [[UIView alloc]init];

            view.frame = (CGRect) {
                .size = {
                    .width = 100,
                    .height = 100,
                },
                .origin = {
                    .x = 100,
                    .y = 100,
                }
            };
            //或者:view2.frame = (CGRect){100, 100, 100, 100};

            view;
        });
    }
    return _view;
}
注意,复合语句的最后一个语句,应该是一个表达式语句,即一个表达式,加上一个分号。这个表达式的值,将作为整个语句表达式的值。如果,最后一个语句是使用了其它种类的语句,那么整个结构将具有void类型,没有有效的值。

你可能感兴趣的:(iOS 复合语句表达式)