0

我有一个显示 UIMapKit 片段的 ViewController。所有 MapKit 部分都在 viewDidLoad 中处理。我还有一个设置视图控制器,可以更改加载地图的半径。

对于模态视图,我设置了一个在 LocationsMapViewController 上调用的委托。我目前正在这样做:

-(void) updateMapUI
{
  NSLog(@"here is my update in updateMapUI");
  //[self initWithCoordinate:self.coordinate locations:self.locations];
  //[self loadView];
  [self viewDidLoad];
}

但这似乎有点不雅。有没有更好、更优雅的方法来做到这一点?或者这样可以吗?我第一次实施这样的事情,只是想要一些反馈。

谢谢

4

1 回答 1

0

是的!你不应该直接调用它。请记住,您应该调用超类viewDidLoad,这可能会产生意想不到的后果。换个方式怎么样...

- (void) viewDidLoad
{
   [super viewDidLoad];
   [self updateMapUI];
}

-(void) updateMapUI
{
  NSLog(@"here is my update in updateMapUI");
  //[self initWithCoordinate:self.coordinate locations:self.locations];
  //[self loadView];

  // Update your Map here

}

......告诉我你不是[self initWithCoordinate:self.coordinate locations:self.locations]从内部打电话viewDidLoad

于 2012-05-14T18:01:08.287 回答