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

时间:2012-02-23 15:46:35

标签: if-statement uiimageview nsdictionary

我正在尝试从主视图控制器中的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作为条件吗?

非常感谢任何帮助。

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

1 个答案:

答案 0 :(得分:0)

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

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