1.@
@() 代表NSNumber類型
@1;
[NSNumber numberWithInt:1]; //等價(jià)于
@('c’);
[NSNumber numberWithChar:'c']; //等價(jià)于
@[] 代表數(shù)組NSArray類型
@[@"1",@"2",@"3”];
[NSArray arrayWithObjects:@"1",@"2",@"3", nil]; //等價(jià)于
@{}代表字典NSDictionary類型
@{@"456":@"123”};
[NSDictionary dictionaryWithObject:@"123" forKey:@"456"]; //等價(jià)于
2.方法聲明
返回值如果不寫括號(hào),編譯器默認(rèn)是id類型:
-sendMessage; -(id)sendMessage;//等價(jià)于
參數(shù)如果不寫類型默認(rèn)也是id類型
-(void)sendMessage:msg; -(void)sendMessage:(id)msg;//等價(jià)于
有多參數(shù)時(shí)方法名和參數(shù)提示語(yǔ)可以為空
-(void):msg1 :msg2; -(void)sendMessage:(id)msg1 message2:(id)msg2;
// 省略前婆排,不建議這樣簡(jiǎn)寫村砂,代碼可讀性降低
3.結(jié)構(gòu)體
CGRect rect = {1, 2}; CGRect rect = {1, 2, 0, 0}; // 等價(jià)于
4.三元條件表達(dá)式(針對(duì)字符串)
NSString *string = inputString ?: @"default"; NSString *string = inputString ? inputString : @"default"; // 等價(jià)于
5.小括號(hào)內(nèi)聯(lián)復(fù)合表達(dá)式
來(lái)自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í)層次仍然能比較明確。