私はiOS開発の初心者です。現在、私のアプリには2つの別個のコントローラー(mapViewController(左側)とphotoViewController(右側))があります。以下を示します。
マップに注釈を追加します。各注釈には写真が含まれています(コールアウトの右側のアクセサリに小さいサイズで表示されています)。
私の考えでは、ユーザーが青い詳細ボタンである左側のアクセサリをタップすると、フルサイズの写真が右側に表示されます。
私はデリゲートでそれを実装しようとします:
mapViewControllerの場合:
-(void)mapView:(MKMapView *)mapView
annotationView:(MKAnnotationView *)aView
calloutAccessoryControlTapped:(UIControl *)control
{
KCFlickPhotoAnnotation *fpa = (KCFlickPhotoAnnotation *) aView.annotation;
self.photoDictionary = fpa.photo;
[self photoDictionaryDelegate];
}
-(void)photoDictionaryDelegate
{
NSDictionary *photoDictionary = self.photoDictionary;
[spDelegate setPhotoDictionary:photoDictionary in:self];
//NSLog(@"button pressed");
}
photoViewController.mの場合:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
mapVC.spDelegate = self;
[mapVC photoDictionaryDelegate];
}
-(void)setPhotoDictionary:(NSDictionary *)photoDictionary
in:(KCMapViewController *)mapViewController
{
self.photo = photoDictionary;
NSLog(@"%@",self.photo); // LINE A
}
photoViewController.hの場合:
@interface KCPhotoViewController : UIViewController <setPhotoDelegation>
{
KCMapViewController *mapVC;
}
LINE Aが機能しない、photoDictionaryがphotoViewControllerに到達できないようですが、この問題を解決するにはどうすればよいですか?