Objective-C GCC Code Block Evaluation C Extension ({…})语法

Syntactic sugar.

这个是GCC编译器的一个语法,以下是例子:

self.searchBar = ({
    UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:({
            CGRect rect = self.view.frame;
            rect.size.height = 66.0f;
            rect;
        })];
    searchBar.delegate = self;
    searchBar;
});


两个优点

  • 结构会更加清晰。
  • 可以使用非常简洁的命名来命名局部变量,写起来会很优雅。