作為一個(gè)有著強(qiáng)迫癥的程序猿,喜歡精簡干練通熟易懂的代碼,so自己總結(jié)了一下OC中簡寫的語法,歡迎補(bǔ)充。
1.方法聲明
返回值如果不寫括號,編譯器默認(rèn)是id類型:
-sendMessage;
-(id)sendMessage;//等價(jià)于
參數(shù)如果不寫類型默認(rèn)也是id類型
-(void)sendMessage:msg;
-(void)sendMessage:(id)msg;//等價(jià)于
有多參數(shù)時(shí)方法名和參數(shù)提示語可以為空
-(void):msg1 :msg2;
-(void)sendMessage:(id)msg1 message2:(id)msg2; // 省略前,不建議這樣簡寫,代碼可讀性降低
2.結(jié)構(gòu)體
CGRect rect = {1, 2};
CGRect rect = {1, 2, 0, 0}; // 等價(jià)于
3.小括號內(nèi)聯(lián)復(fù)合表達(dá)式
來自Statements and Declarations in Expressions
RETURN_VALUE_RECEIVER = {( // Do whatever you want RETURN_VALUE; // 返回值 )};
//so 我們可以引申為以下這種寫法: UIView *view = ({ UIView *view = [[UIView alloc] initWithFrame:self.view.bounds]; view.backgroundColor = [UIColor redColor]; view.alpha = 0.8f; view; }); [self.view addSubview:view]; //這樣使得代碼量增大時(shí)層次仍然能比較明確。