- 应该使用字符串的integerValue、doubleValue、boolValue等方法,而不是简单粗暴的(整型)字符串 方式。
NSDictionary *dic = @{@"page_num":@"2"};
NSInteger page = (NSInteger)dic[@"page_num"]; //错误做法
NSInteger page2 = [dic[@"page_num"] integerValue];
NSLog(@"%zd %zd", page, page2);
- 为了方便对网络请求返回的数据进行类型转换,对NSDictionary做了简单扩展,eg:字典中字符串转BOOL类型
- (BOOL)boolForKey:(NSString *)key
{
id idObj = [self objectForKey:key];
if(!idObj)
{
return NO;
}
NSString *strReturn = [[idObj description] lowercaseString];
return ([strReturn isEqualToString:@"1"] || [strReturn isEqualToString:@"true"] || [strReturn isEqualToString:@"yes"])?YES:NO;
}