我們很熟悉char
這個數(shù)據(jù)類型和它的使用方式:
char c = 'a';
這個c
變量在ASCII
編碼下是97
還有一種不常見的字符char
的寫法:
int i = `AaBb';
這個i
變量的值按每個char
的ASCII
值轉(zhuǎn)十六進制拼在一起,也就是說:
`AaBb`
-> '0x41'+'0x61'+'0x42'+'0x62'
-> '0x41614262' // 十進制1096893026
PS:這個組合方式和“大小端”有關(guān)系,上面是i386
下的結(jié)果,多字符的長度限度為最多4個char
知道了這個特效,我們就可以做些壞事,比如:
self.someButton.tag = 'SHIT';
...
if (button.tag == 'SHIT') {
NSLog(@"I've got this shit button");
}
當(dāng)然使用tag是很不推薦的寫法,盡量不用。使用這個特性來避免些魔法數(shù)字或標(biāo)記些整型數(shù)字還是極好的。