iOS開發中addSubview的參數放在一個"({})"代碼塊中
今天在微博中看到南峰子_老驢微博分享的一個小技巧在此記錄分享下
[self.view addSubview:({
UIView *view = [[UIView alloc]initWithFrame:(CGRect){100,200,200,100}];
view.backgroundColor = [UIColor redColor];
view;
})];
如上述的代碼片段,通常我們是先創建一個視圖再將這個視圖添加到父類視圖中,而上述的方法就是直接將要添加到父類的視圖放在"({})"代碼塊中
這種寫法沿用了GNU C的一個特性,即復合語句(compound statement)。即在"({})"代碼塊中,我們可以放置多個語句,這些語句可以是循環、分支、變量聲明、函數調用等。而復合語句的最后一句是一個表達式,其作為整個復合語句的最終值。
使用復合語句可使得編寫的代碼更加優雅,查看各個視圖控件更加的清晰整潔