显示特定于NSString值的图像
问题描述:
如果特定的值被调用,我想发布一个特定的图像,这是我的理解这是不工作,因为NSNumber未正确转换为NSString,但我不确定是否这就是问题。通过使用NSLog,我发现数据正在通过,比如评分为4.5,在这种情况下,我想显示四星半,但图片不会发布。我已经证实视图已经连接起来,并且所有东西都连接起来了,但没有骰子。下面的代码。反馈非常感谢!显示特定于NSString值的图像
- (void) connectionDidFinishLoading:(NSURLConnection *)connection
{
[self setString];
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:nil];
NSString *string1 = [dic objectForKey:@"name"];
NSString *string2 = [[dic objectForKey:@"rating"]stringValue];
NSLog(@"RATE STRING ---> %@", string2);
if (string2 == @"0")
{
UIImage *img = [UIImage imageNamed:@"zerorate.png"];
[imageView2 setImage:img];
}
if (string2 == @"1")
{
UIImage *img = [UIImage imageNamed:@"onerate.png"];
[imageView2 setImage:img];
}
if (string2 == @"1.5")
{
UIImage *img = [UIImage imageNamed:@"onehalfrate.png"];
[imageView2 setImage:img];
}
if (string2 == @"2")
{
UIImage *img = [UIImage imageNamed:@"tworate.png"];
[imageView2 setImage:img];
}
if (string2 == @"2.5")
{
UIImage *img = [UIImage imageNamed:@"twohalfrate.png"];
[imageView2 setImage:img];
}
if (string2 == @"3")
{
UIImage *img = [UIImage imageNamed:@"threerate.png"];
[imageView2 setImage:img];
}
if (string2 == @"3.5")
{
UIImage *img = [UIImage imageNamed:@"threehalfrate.png"];
[imageView2 setImage:img];
}
if (string2 == @"4")
{
UIImage *img = [UIImage imageNamed:@"fourrate.png"];
[imageView2 setImage:img];
}
if (string2 == @"4.5")
{
UIImage *img = [UIImage imageNamed:@"fourhalfrate.png"];
[imageView2 setImage:img];
}
if (string2 == @"5")
{
UIImage *img = [UIImage imageNamed:@"fiverate.png"];
[imageView2 setImage:img];
}
[[self myTableView] reloadData];
}
答
的值string2 == @"0"
是未定义的。试试if ([string2 isEqualToString:@"0"])
。
此外,你可能会考虑命名你的png文件后,你回来的价值。然后,你可以只是做:
UIImage *img = [UIImage imageNamed:string2];
[imageView2 setImage:img];
如果这样做不能解决问题,什么在调试器中发生在你po string2
?当你设置po img
后会发生什么,当你po imageView2
时会发生什么?
Ack!一个常见的问题,如果我没有弄错:“isEqualToString”vs“==”.......我很愚蠢,我应该知道“isEqualToString”可能会解决这个问题!感谢您的时间:) – Greg 2013-02-25 03:57:44
@ greg23af如果您发现答案令人满意,请使用左侧的复选框标记。 (http://i.stack.imgur.com/uqJeW.png) – 2013-02-25 04:00:23
此外,你应该更新到最新版本的Xcode,它应该为此产生一个警告。 – 2013-02-25 04:01:17