gpt4 book ai didi

objective-c - 获取 NSNumber 的类型

转载 作者:IT老高 更新时间:2023-10-28 11:48:27 26 4
gpt4 key购买 nike

我想获取 NSNumber 实例的类型。

我在 http://www.cocoadev.com/index.pl?NSNumber 上发现的这个:

 NSNumber *myNum = [[NSNumber alloc] initWithBool:TRUE]; if ([[myNum className] isEqualToString:@"NSCFNumber"]) {  // process NSNumber as integer } else if  ([[myNum className] isEqualToString:@"NSCFBoolean"]) {  // process NSNumber as boolean }

好的,但这不起作用,编译器无法识别 [myNum className]。我正在为 iPhone 编译。

最佳答案

我建议使用 -[NSNumber objCType]方法。

它允许你做:

NSNumber * n = [NSNumber numberWithBool:YES];
if (strcmp([n objCType], @encode(BOOL)) == 0) {
NSLog(@"this is a bool");
} else if (strcmp([n objCType], @encode(int)) == 0) {
NSLog(@"this is an int");
}

有关类型编码的更多信息,请查看 Objective-C Runtime Reference .

关于objective-c - 获取 NSNumber 的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2518761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com