Я просматривал код сторонней структуры RESideMenu
и замечал какой-то странный синтаксис, который, казалось, работал нормально. Вот путающий бит:
self.tableView = ({
UITableView *tableView = [[UITableView alloc] initWithFrame:frame style:UITableViewStylePlain];
tableView.autoresizingMask = mask;
tableView.delegate = self;
tableView.dataSource = self;
tableView.opaque = NO;
tableView.backgroundColor = [UIColor clearColor];
tableView.backgroundView = nil;
tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
tableView.bounces = NO;
tableView.scrollsToTop = NO;
tableView;
});
Как работает этот синтаксис? Я подозреваю, что это имеет какое-то отношение к области C-уровня, но я никогда раньше этого не видел. Я также подумал, что это может быть новая функция с литералами Objc-2.0, но я не думаю, что это правда.
Итак, я думаю, мой вопрос в том, как это работает/что заставляет это работать?