IOS 开发之ObjectiveC的变量类型的字符代表

时间:2021-05-02

IOS 开发之ObjectiveC的变量类型的字符代表

实例代码:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 NSDictionary *dic = @{@"1":[NSNumber numberWithBool:YES], @"2":[NSNumber numberWithChar:'1'], @"3":[NSNumber numberWithDouble:2.0], @"4":[NSNumber numberWithFloat:2.0f], @"5":[NSNumber numberWithInt:1], @"6":[NSNumber numberWithInteger:2], @"7":[NSNumber numberWithLong:30], @"8":[NSNumber numberWithLongLong:3], @"9":[NSNumber numberWithShort:4], @"10":[NSNumber numberWithUnsignedChar:'1'], @"11":[NSNumber numberWithUnsignedInt:3], @"12":[NSNumber numberWithUnsignedInteger:35], @"13":[NSNumber numberWithUnsignedLong:45], @"14":[NSNumber numberWithUnsignedLongLong:59], @"15":[NSNumber numberWithUnsignedShort:4] }; for(NSString *key in dic){ id value = [dic valueForKey:key]; if([value isKindOfClass:[NSNumber class]]){ const charchar * pObjCType = [((NSNumber*)value) objCType]; NSLog(@"%@,%s",key,pObjCType); } }

以上的输出结果证明:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 UnsignedChar =>s Char =>c UnsignedShort =>i LongLong =>d UnsignedInt =>q Float =>f Int =>i UnsignedInteger =>q Integer =>q UnsignedLong =>q Long =>q LongLong =>q UnsignedLongLong=>q Bool =>c Short =>s double =>d

再看以下代码,用@encode关键字的

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 NSLog(@"1=>%s",@encode(BOOL)); NSLog(@"2=>%s",@encode(char)); NSLog(@"3=>%s",@encode(double)); NSLog(@"4=>%s",@encode(float)); NSLog(@"5=>%s",@encode(int)); NSLog(@"6=>%s",@encode(NSInteger)); NSLog(@"7=>%s",@encode(long)); NSLog(@"8=>%s",@encode(long long)); NSLog(@"9=>%s",@encode(short)); NSLog(@"10=>%s",@encode(unsigned char)); NSLog(@"11=>%s",@encode(unsigned int)); NSLog(@"12=>%s",@encode(unsigned long));//unsigned NSInteger NSLog(@"13=>%s",@encode(unsigned long)); NSLog(@"14=>%s",@encode(unsigned long long)); NSLog(@"15=>%s",@encode(unsigned short));

以上的输出结果证明:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 BOOL=>c char=>c double=>d float=>f int=>i NSInteger=>q long=>q long long=>q short=>s unsigned char=>C unsigned int=>I unsigned NSInteger=>Q unsigned long=>Q unsigned long long=>Q unsigned short=>S

读者可以根据这种方式来判断某个变量到底属于哪种类型。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/nunchakushuang/article/details/39317309

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章