У меня есть RouteSelectController, из которого я перехожу к RouteInfoController.
-(void)GoToRouteInfo
{
RouteInfoController *controller = [[RouteInfoController alloc] initWithNibName:@"RouteInfoController" bundle:nil];
controller.delegate = self;
[self.navigationController pushViewController:controller animated:YES];
[controller release];
}
В RouteInfoController.h я создаю свой настраиваемый протокол, например
#import <UIKit/UIKit.h>
@protocol RouteInfoDelegate;
@interface RouteInfoController : UIViewController<UITableViewDelegate, UITableViewDataSource, WptInfoDelegate>
{
id<RouteInfoDelegate> delegate;
}
@property (nonatomic, assign) id delegate
@end
@protocol RouteInfoDelegate
- (void) deleteWptFromRouteAndAppWithUID;
@end
В RouteInfoController.m я вызывал этот метод делегата как:
#import "MapViewController.h"
@class MapViewController;
@implementation RouteInfoController
@synthesize delegate;
-(void)callRouteDelegateMethod
{
[self.delegate deleteWptFromRouteAndAppWithUID];
}
И определение этого метода в MapViewController.m, например:
#import "RouteInfoController.h"
@interface MapViewController () <UIScrollViewDelegate,RouteInfoDelegate>
{
//.....................................
}
-(void) deleteWptFromRouteAndAppWithUID // The problem here is this delegate method is not called
{
NSLog(@"\n Inside delete Way point...");
}
Редактировать: И когда элемент управления достигает этого метода делегата в
- (Недействительными) callRouteDelegateMethod
в RouteInfoController В консоли я получаю сообщение о сбое, например:
[RouteSelectController deleteWptFromRouteAndAppWithUID]: не распознано
селектор отправлен на экземпляр 0x6eb4eb0
Edit2:
В RootInfoController у меня есть метод на didselect любой ячейки табличного представления, он вызывает этот метод
- (void) viewWptInfoControllerAtIndex: (int)index{
WptInfoViewController *controller = [[WptInfoViewController alloc] initWithNibName:@"WptInfoViewController" bundle:nil];
controller.asRootController = NO;
controller.delegate = self;
NSMutableDictionary *dict = [route.routeWaypoints objectAtIndex:index];
NPLibWaypoint *libWpt = [NPLibWaypoint initWithDictionary:dict AndDelegateDS:delegateDS];
controller.libWpt = libWpt;
[libWpt release];
controller.isFromRouteInfo = YES;
[self.navigationController pushViewController:controller animated:YES];
[controller release];
}
Кто-то из парней подскажет мне, как решить эту проблему и что я сделал не так.
Чья-либо помощь высоко ценится.
Спасибо всем,
Мониш.