我是 iOS 编程的新手。我用 MKMapView 元素创建了 ViewController,我想设置委托[mapView setDelegate:self]
首先,我在方法 initWithNibName:bundle: 中完成了它,例如:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[[self map] setDelegate:self]];
UITabBarItem *item = [[UITabBarItem alloc] init];
[item setTitle:@"Map"];
[self setTabBarItem:item];
}
return self;
}
在这种情况下,MKMapView 没有向我发送任何消息,但是当我将设置委托消息设置为viewDidLoad
方法时,它工作正常。
setting delegate message
有人可以解释一下为什么它在 in时不起作用initWithNibName:bundle
吗?