我们很熟悉char
这个数据类型和它的使用方式:
1 | char c = 'a'; |
1 | int i = 'AaBb'; |
1 2 3 | 'AaBb' -> '0x41'+'0x61'+'0x42'+'0x62' -> '0x41614262' // 十进制1096893026 |
PS:这个组合方式和“大小端”有关系,上面是 i386 下的结果
多字符的长度限度为最多 4 个 char
知道了这个特性,我们就可以做些坏事,比如:
1 2 3 4 5 6 | self.someButton.tag = 'SHIT'; ... if (button.tag == 'SHIT') { NSLog(@"I've got this shit button"); } |
当然使用tag是很不推荐的写法,尽量不用。使用这个特性来避免些魔法数字或标记些整型数字还是极好的。