我有一个类可以解析 Web 服务调用的结果。基于该结果,它调用另一个类中的方法,并且该方法应该更改 UIImageView 中的图像。但它不会设置图像,我不知道为什么。
一流的相关部分。“服务器”值确实返回“rb”。
#import "GetBBYprod.h"
#import "MyViewController.h"
static NSString *kAblue = @"A_blue.png";
static NSString *kBblue = @"B_blue.png";
static NSString *kCblue = @"C_blue.png";
@implementation GetBBYprod
@synthesize vc;
-(id)init {
if (self = [super init]) {
vc = [[MyViewController alloc] init];
}
return self;
}
-(void)connectionDidFinishLoading:(NSURLConnection *)conn {
NSString *bbyProdString = [[NSString alloc] initWithData:bbyProdData encoding:NSUTF8StringEncoding];
NSString *server = [bbyProdString substringToIndex:2];
if ([server isEqualToString:@"rb"]) {
[vc setAlight:kBblue];
}
}
所以这会将 kBblue 发送到我的 MyViewController 类中的方法 setAlight。(kBblue 的值为“B_blue.png”。
所以在我的 MyViewController 类中,setAlight 方法:
-(id)init {
if (self = [super init]) {
aImage = [[UIImageView alloc] init];
bImage = [[UIImageView alloc] init];
cImage = [[UIImageView alloc] init];
}
return self;
}
-(void)setAlight:(NSString *)aValue {
NSLog(@"image name: %@", aValue);
[aImage setImage:[UIImage imageNamed:aValue]];
}
这将成功记录“图像名称:B_blue.png”,因此我知道正在传递数据并且正在调用该方法。但它不会在 aImage UIImageView 中设置图像。为什么?
编辑
- 我正在使用 xib,并且为 imageView 分配了默认图像。
- 我所有的连接都在 xib 中连接,它们看起来都正确。
- 我传递的字符串中没有空格。
- 我可以说图像尚未设置,因为正确设置后对我来说非常明显。