我正在尝试从主视图控制器中的NSDictionary将变量加载到详细视图控制器中。
我正在尝试使用主视图Controller中的图像来确定在详细视图控制器中使用哪个变量。
我的代码在主视图控制器中是这样的;
-(IBAction)pushView:(id) sender{
SomeDetailViewController *detailController = [[SomeDetailViewController alloc] init];
if ((self.imageView.image = [UIImage imageNamed:@"0002.jpg"])) {
NSMutableDictionary *myDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"titleA", @"headerkey2",,nil];
detailController.mapDictionary = mapDictionary;
NSLog(@"%@", [myDictionary objectForKey:@"headerkey2"]);
}
else if((self.imageView.image = [UIImage imageNamed:@"0003.jpg"])) {
NSMutableDictionary *myDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"TitleB", @"headerkey2",,nil];
detailController.myDictionary = myDictionary;
NSLog(@"%@", [myDictionary objectForKey:@"headerkey2"]);
}
[self.navigationController pushViewController:detailController animated:YES];
}
然后在我的接收详细视图控制器中,我的代码是;
-(void) viewDidLoad{
[super viewDidLoad];
self.title = [(NSMutableDictionary *)myDictionary objectForKey:@"headerkey2"];
}
不幸的是,这不起作用。无论如何,导航栏标题都会出现同样的情况。
我可以使用UIImage作为条件吗?
非常感谢任何帮助。
我已经使用了反弹,但似乎并没有在所有情况下都有效。
答案 0 :(得分:0)
出于某种原因,你在if语句中使用“=”吗?如果没有,请改用“==”。
文档说[UIImage imageNamed]返回与指定图像关联的对象,这意味着它应该始终为同一图像返回相同的对象,因此您可以在条件下使用UIImage。