Ios 指向整数转换的指针不兼容';int';使用类型为';id';

Ios 指向整数转换的指针不兼容';int';使用类型为';id';,ios,int,nsdictionary,Ios,Int,Nsdictionary,在我的应用程序中,我使用JSON从MySQL数据库检索数据 其中一个表字段是IDCATEGRIA,来自integer类型。现在我正试图在我的应用程序中将idCategoria值分配给一个int变量,但这显示了一个编译器警告。我已经记录了Categorian的值,它是143913536,但应该是1 这是显示的警告: 指向整数转换的不兼容指针使用类型为“id”的表达式初始化“int” 这就是我试图做到的: int categoriaID = [categoriaDescription objec

在我的应用程序中,我使用JSON从MySQL数据库检索数据

其中一个表字段是IDCATEGRIA,来自integer类型。现在我正试图在我的应用程序中将idCategoria值分配给一个int变量,但这显示了一个编译器警告。我已经记录了Categorian的值,它是143913536,但应该是1

这是显示的警告:

指向整数转换的不兼容指针使用类型为“id”的表达式初始化“int”
这就是我试图做到的:

 int categoriaID = [categoriaDescription objectForKey:@"idCategoria"];
尝试:


编译器诊断意味着您正试图将指针(“id”)分配给整数。如果您检查NSDictionary的规范,您将看到它总是返回一个对象(或nil),而不是一个“标量”(例如
int
),并且您不能(合法地)将指针分配给
int
。因此,您从字典中得到的是一个NSNumber对象,您需要使用
intValue
方法提取其值。
NSString
还有一个
intValue
方法。可能还有其他的基础类。当然,很可能存在使用
intValue
method.Perfect的自定义类。我只是在比较NSButton复选框中的布尔默认值时使用了这个选项:
if([[defaults valueForKey:@“dnd”]intValue]==1)
int categoriaID = [[categoriaDescription objectForKey:@"idCategoria"] intValue];