我是 Objective C 的新手,但学得很快。我的项目非常完整,我已经实现了比委托等更好的类。
我正在使用 MKMapView 在地图上显示内容。我还需要用户单击将返回一些信息的 Pins,但我确实希望 MKViewMap 在发送信息之前进行一些估计。
因此,我对 MKMapView 进行了子类化,并且正在使用此类进行显示。但我没有接到代表的电话。当我以标准方式使用 MKViewMap 时,它可以正常工作。这是一些代码。子类有一个委托协议,这很好用
// .h 文件
#import < MapKit/MapKit.h >
@protocol MyMapViewDelegate < NSObject >
@required
- (void) ReturnAddressToHail:(NSString*) FullAddresse andNumber:(NSString*) FullNumber;
- (void) ReturnSelectedDriverHash:(NSString*) DriverHash;
@end
@interface MyMapViewClass : MKMapView < MKMapViewDelegate >
{
id < MyMapViewDelegate > delegate;
CLLocationCoordinate2D mapCenter;
NSDictionary *Info;
CLLocation * ClientNewLocation;
}
@property (retain) id delegate;
// .m 文件
#import "MyMapViewClass.h"
#import "NSObject+MapAnnotationHelper.h"
@implementation MyMapViewClass
@synthesize geoCoder;
@synthesize delegate;
self.delegate = self;
-(void) mapView:(MKMapView *) mapView regionDidChangeAnimated:(BOOL)animated
{
(void) self.updateAddress;
NSLog(@"regionchange delegate");
}
后者永远不会被调用。有任何想法吗?