2013-11-15 88 views
1

核心数据请求后,我得到一本字典,其中这一个值是条目的数量,如果我尝试打印与价值:如何将pfCashedNumer转换为int?

NSLog(@"number of entry %@",[dic valueForKey:@"count"]); 

我得到正确的结果,如:

number of entry 4 

好的,如果我尝试使用这个号码转换为一个int这样:

  int numberForActualCoordinate = (int)[dic valueForKey:@"count"]; 
     NSLog(@"value %i",numberForActualCoordinate); 

我得到这个结果

value 5754900 

这到底是错的,如果我尝试打印类的价值转换成字典我得到这个:

NSLog(@"class %@",[[dic valueForKey:@"count"] class]); 

结果:

class _PFCachedNumber 

所以现在的问题是,如何我可以将_PFCachedNumber值转换为int吗?

感谢

回答

0

假设dicNSDictionary和计数的值是一个NSNumber
这是不是一个数字,它是一个NSNumber对象那么简单铸造将无法正常工作。请使用方法intValue

NSDictionary *dic = @{@"count":@1}; 
int numberForActualCoordinate = [[dic valueForKey:@"count"] intValue]; 
NSLog(@"value %i",numberForActualCoordinate); 

的NSLog输出:

值1

,或者使用文本:

int numberForActualCoordinate = [dic[@"count"] intValue]; 
0

看起来它是NSNumber一个子类。尝试:[[dic valueForKey:@"count"] integerValue]然后你可以打印一个%ld就像你会很长。