我在主计长的主档案中宣布了一项管理地图观点的议定书。
@protocol UCMapViewDelegate <NSObject>
@required
- (void)pushMapviewRight;
@end
I m 在另一个观点控制人(h)中宣布执行该议定书,并在档案中执行
// in the UCRootViewController.h
@interface UCRootViewController : UIViewController <UCMapviewDelegate>
// in the UCRootViewController.m
- (void)pushMapviewRight
{
NSLog(@"push mapview right");
}
我把该代表交给一个标明问题根基的主计长的财产。 我的地图主计长认为DidLoad()是这样做的,其财产为@property(weak, nonatomic)id<UCMapViewDelegate>代表;
。
// in UCRootViewController
self.mapviewController.rootviewController = self;
// in UCMapViewController
self.delegate = (id<UCMapviewDelegate>)self.rootviewController;
• 地图概览中一个纽州时,显示Menu()已经执行。 主计长受到压力,其工作。 但是,NOT被称作是代表的方法。
- (void)showMenu
{
NSLog(@"show menu");
[self.delegate pushMapviewRight];
}
但没有发生。 什么是错误的? 非常感谢帮助!