タイトルがはっきりしない場合は申し訳ありませんが、ここで詳しく説明できれば幸いです。
MatchLineupViewController
チームのラグビー選手を表す22個のボタンを表示するViewControllerがあります。ユーザーがこれらのボタンのいずれかをタップすると、次の方法でモーダルセグエがプログラムで呼び出されます。
- (IBAction) showSquadSelector:(UIButton *)sender {
[self performSegueWithIdentifier:@"SeguePopupSquad" sender:sender];
}
次に表示されるモーダルViewControllerはと呼ばれSquadSelectViewController
ます。選択したプレーヤーオブジェクトをMatchLineupViewController
、デリゲートとして機能しているに戻します。これは完全に機能します。
ただし、最初にセグエを送信したprofile_picture
オブジェクトに、返されたオブジェクトの属性を割り当てたいと思います。UIButton
編集-返されるオブジェクトは、次のコードに示すようにNSDictionaryです。
- (void) selectPlayer:(NSDictionary *)player forButton:(UIButton *)sender {
[sender.imageView setImage:[UIImage imageWithContentsOfFile:[player objectForKey:@"profile_picture"]]];
}
どうすればこれを行うことができますか?私が求めていることを理解するためにさらにコードが必要な場合は、それを提供できます。
どうもありがとう、クリス
編集 -
- (IBAction) showSquadSelector:(UIButton *)sender {
[self performSegueWithIdentifier:@"SeguePopupSquad" sender:sender];
}
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"SeguePopupSquad"]) {
SquadSelectViewController *ssvc = (SquadSelectViewController *) segue.destinationViewController;
ssvc.myDelegate = self;
ssvc.senderButton = sender;
}
}
- (void) selectPlayer:(NSDictionary *)player forButton:(UIButton *)sender {
[sender.imageView setImage:[UIImage imageWithContentsOfFile:[player objectForKey:@"profile_picture"]]];
NSLog(@"%@", [player description]);
NSLog(@"%@", [sender description]);
}