没有理由-performSelector:在这种情况下使用。如果要添加一个MKMapView在创建对象时初始化的方法,请从if (self)块中调用该方法:
- (id)init
{
    self = [super init];
    if (self) {
        [self setupMapView];
    }
    return self;
}
- (void)setupMapView
{
    // THE CODE TO INITIALIZE MKMAPVIEW
}
是否有第二种方法-setupMapView或简单地将用于设置的代码留在MKMapView方法if (self)块中-init或将代码分解为第二种方法-setupMapView称为 from ,这是个人喜好/风格的问题-init。
话虽如此,听起来您的设置可能会出现其他问题。您的 MKMapView 应该 [最有可能] 在一个UIViewController子类中(可能有一个关联的XIB),因此您将可以访问-viewDidLoad. 请注意,您的UIViewController子类将充当您的MKMapView.
更新 1
在您的UIViewController子类实例中(我假设您调用了它ViewController,您应该有IBOutlet一个MKMapView对象。ViewController.h通过(1)添加一个实例变量来执行此操作
@interface ViewController : UIViewController
{
    IBOutlet MKMapView *myMap;
}
@end
或通过(2)添加一个属性
@interface ViewController : UIViewController
@property (nonatomic, strong, readwrite) IBOutlet MKMapView *myMap;
@end
现在ViewController.xib在 Interface Builder 中打开。你应该有一个MKMapView内部视图。如果您还没有,请从对象库中添加一个。右键单击File's Owner。找到该项目所在的行myMap。从行右端的圆圈拖动到MKMapView可见视图中的 。
你的ViewController班级现在有了一个通向MKMapView. 加载后,您将能够向MKMapView视图控制器视图的子视图发送消息。
您应该为您的SubClass实例提供一个属性或实例变量,这样它就不会在-viewDidLoad返回后立即被破坏。通过将实例变量添加到ViewController.h
@interface ViewController : UIViewController
{
    IBOutlet MKMapView *myMap;
    SubClass *istance;
}
@end
或通过添加属性
@interface ViewController : UIViewController
@property (nonatomic, strong, readwrite) IBOutlet MKMapView *myMap;
@property (nonatomic, strong, readwrite) SubClass *istance;
@end
现在,在 中ViewController.m,您需要定义-viewDidLoad以便将self.istance其设置为 的委托self.myMap。在评论中,我建议创建自己的初始化程序-initWithMapView:。如果您打算对 .SubClass进行一些广泛的设置MKMapView,那是有道理的。如果您只想SubClass成为 的代表MKMapView,则不需要这样的方法。  
让我们考虑这两种情况:
(1) 使用方法-[SubClass initWithMapView:]:  
在ViewController.m你将拥有(在 之@implementation内ViewController)
- (void)viewDidLoad
{
    self.istance = [[SubClass alloc] initWithMapView:self.myMap];
}
在SubClass.h你将拥有(在 之@interface内SubClass)
- (id)initWithMapView:(MKMapView *)mapView;
@property (nonatomic, weak, readwrite) MKMapView *mapView;
在SubClass.m你将拥有(在 之@implementation内SubClass)
- (id)initWithMapView:(MKMapView *)mapView
{
    self = [super init];
    if (self) {
        self.mapView = mapView;
        self.mapView.delegate = self;
        //more setup of mapView.
    }
    return self;
}
(2) 使用-[SubClass init]:
相反,ViewController.m您将拥有
- (void)viewDidLoad
{
    self.istance = [[SubClass alloc] init];
    self.myMap.delegate = self.istance;
}