使用UIImage作为if语句中的条件

问题描述:

我想从主视图控制器中的NSDictionary中将变量加载到详细视图控制器中。使用UIImage作为if语句中的条件

我想在主视图控制器中使用图像来确定在详细视图控制器中使用哪个变量。

我的代码是这样的在主视图控制器;

-(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作为条件吗?

任何帮助将不胜感激。

我已经使用了反弹,但似乎并没有在所有情况下工作。

由于某种原因你在if语句中使用“=”吗?如果不是,请改用“==”。

该文档说[UIImage imageNamed]返回与指定图像关联的对象,这意味着它应该始终为同一图像返回相同的对象,因此您可以在条件中使用UIImage。

+0

非常感谢你。 – user1114881 2012-02-23 18:13:47

+0

@ user1114881可否请您检查我的答案是否接受,如果它的作品?我会很感激。 – hago 2012-02-28 17:03:48