Я только что решил проблему циклической зависимости, используя переадресацию классов. Теперь я получаю предупреждение о том, что метод 'showSumDetails' не найден. Я не понимаю, почему это должно происходить вообще, любая помощь будет оценена. Включая немного кода здесь:
MyAnnotation.h
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
//#import "MyMapViewController.h" obviously this wasn't possible :-(
@class MyMapViewController;
@interface MyAnnotation : NSObject<MKAnnotation> {
MyMapViewController* mapController;
}
MyMapViewController.h
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <MapKit/MKReverseGeocoder.h>
#import "MyAnnotation.h"
@interface MyMapViewController : UIViewController <MKMapViewDelegate>{
MyAnnotation *annot;
}
MyMapViewController.m - где метод действительно существует, и он также определен в заголовочном файле.
@implementation MyMapViewController
@synthesize annot;
-(void) showSumDetails:(id)aSumData{
NSLog(@"mapViewController-showSumDetails");
SumDetailsViewController *wrController = [[SumDetailsViewController alloc] init];
wrController.sumData = aSumData;
[self.navigationController pushViewController:wrController animated:YES];//This needs to be pushed
[wrController release];
}
@end
Но следующий метод в MyAnnotation.m не может найти метод выше: - (
@implementation MyAnnotation
@synthesize sumData;
@synthesize mapController;
- (void) showPD{//is also defined in header file
NSLog(@"sPD - MyAnn");
[mapController showSumDetails:sumData]; //This doesn't have a clue about showSumDetails method- Why??
}
Я был бы рад предоставить больше информации. Пожалуйста, помогите !!!