1

私は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に到達できないようですが、この問題を解決するにはどうすればよいですか?

4

0 に答える 0