【发布时间】:2016-03-06 19:20:11
【问题描述】:
我从一个 URL 请求中捕获了一些数据。 通常它必须是存储在数据库中的整数值。 所以我得到了以下代码:
if ([[sourceDict objectForKey:@"fields"] objectForKey:@"id"]) {
if ([[[sourceDict objectForKey:@"fields"] objectForKey:@"id"] isKindOfClass:[NSArray class]]) {
if ([[sourceDict objectForKey:@"fields"] objectForKey:@"id"] > 0) {
self.id = [[[[sourceDict objectForKey:@"fields"] objectForKey:@"id"] objectAtIndex:0] intValue];
}
} else {
self.id = [[[sourceDict objectForKey:@"fields"] objectForKey:@"id"] intValue];
}
}
现在的问题是有人输入了一些其他值,例如从 URL 请求到该数据库字段的字符串也不是整数。
所以应用程序现在崩溃是因为 objectForKey:@"id" 不再是整数了吗?
现在怎么查?我想这不是检查它是否是字符串值的好方法,不是吗?
【问题讨论】:
标签: objective-c arrays integer nsdictionary