- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
从 JSON 接收数据,如下所示:
{
myself = 1;
"id" = 123;
}
并且我把它放到了一个NSDictionary *messageDic中,我还定义了一个值*isMyself来接收自己的值
Boolean isMyself = [messageDic objectForKey:@"myself"];
但它不起作用。
所以我打印日期类型,
const char* className = class_getName([[messageDic objectForKey:@"myself"] class]);
NSLog(@"yourObject is a: %s", className);
NSLog(@"Size of BOOL %d", sizeof(isMyself));
NSLog(@"Size of BOOL %@", [messageDic objectForKey:@"myself"]);
结果是:
2012-08-01 17:41:48.886 yourObject is a: __NSCFBoolean
2012-08-01 17:41:48.887 Size of BOOL 1
2012-08-01 17:41:48.887 Size of BOOL 0
下面的 if 部分也不起作用。
if ([messageDic objectForKey:@"myself"] == 0)
我试过了
NSCFBoolean *isMyself = [messageDic objectForKey:@"myself"];
我收到上面的错误表格。
我的问题是我应该如何测试[messageDic objectForKey:@"myself"]
的值? __NSCFBoolean
是什么?
谢谢!
最佳答案
你从 [messageDic objectForKey:@"myself"] 得到的结果是一个 NSNumber,然后你需要将结果转换为 Bool。所以试试下面:
if ([[messageDic objectForKey:@"myself"]boolValue] == NO)
关于objective-c - 如何测试 NSCFBoolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11756795/
我有一个 Core Data 托管对象,该对象具有“boolean ”类型的属性。 在我的头文件中我有这个:@property(非原子,保留)NSNumber * includeInHistory;
我正在 iOS 中制作一个待办事项列表应用程序。我将用户的任务存储在 Firebase 中。任务完成后,我更新数据库中的一个值。当读回该值时,由于我之前遇到的一些错误,我测试了它的 Bool、NSNu
从 JSON 接收数据,如下所示: { myself = 1; "id" = 123; } 并且我把它放到了一个NSDictionary *messageDic中,我还定义了一个值
我正在使用 SBJsonParser 来解析 JSON。输入可以是 0 或字符串(例如 a829d901093),如果它为零,则返回 NSCFBoolean,如果返回其字符串 NSCFString。我
我在 Unity 中制作了一款游戏,并为 iOS 设备构建了它。客户问我们是否可以在游戏中实现 WebTrends,所以我关注了 this getting started guide有关如何安装它的说
我是一名优秀的程序员,十分优秀!