2012-02-23 17 views
0

プライマリビューコントローラのNSDictionaryから詳細ビューコントローラに変数をロードしようとしています。ifステートメントの条件としてUIImageを使用する

詳細ビューコントローラで使用する変数を決定するために、プライマリビューコントローラでイメージを使用しようとしています。

私のコードは、プライマリViewコントローラではこれと似ています。

-(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"]; 

} 

残念ながら、これは機能しません。何があっても同じことがnavigationBarタイトルに表示されます。

条件としてUIImageを使用できますか?

ご協力いただければ幸いです。

バックラッシュを使用していますが、すべてのケースで機能しているようには見えません。

答えて

0

何らかの理由でif文で "="を使用していますか?そうでない場合は、代わりに "=="を使用します。

[UIImage imageNamed]は、指定されたイメージに関連付けられたオブジェクトを返します。つまり、同じイメージに対して常に同じオブジェクトを返す必要があるため、条件にUIImageを使用できます。

+0

これは本当にありがとうございました。 – user1114881

+0

@ user1114881うまくいけば、私の答えを受け入れることができますか?私はそれを感謝します。 – hago

関連する問題