单身人士导致应用程序在更改视图控制器时崩溃

我正在尝试使用单例类来select基于用户所做的select显示的自定义内容。 它是这样的:显示一个列表,用户从列表中select一行,然后应用程序进入另一个ViewController视图。 所使用的ViewController对于所有列表选项都是相同的,但内容是不同的。 目前我设法做到这一点只有一个选项,并试图使用单身类告诉应用程序可以select哪些内容。

当select“莱佛士着陆点”选项时会发生这种情况:

if(landmarkSelected== @"Raffles Landing Site") { RafflesLandmarkInfo *rafflesLandmarkInfo = [[RafflesLandmarkInfo alloc] initWithNibName:@"RafflesLandmarkInfo" bundle:nil]; [self.navigationController pushViewController:rafflesLandmarkInfo animated:YES]; [rafflesLandmarkInfo release]; 

这将打开一个UIWebView实现,如下所示:

 [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"raffles" ofType:@"html"]isDirectory:NO]]]; 

我创build了一个单例类,如下所示: http : //www.galloway.me.uk/tutorials/singleton-classes/

我添加了一个NSMutableString属性,并将以前的代码更改为以下代码:

 if(landmarkSelected== @"Raffles Landing Site") { LandmarkController* instance = [LandmarkController sharedInstance]; [instance.activeLandmark setString:@"raffles"]; RafflesLandmarkInfo *rafflesLandmarkInfo = [[RafflesLandmarkInfo alloc] initWithNibName:@"RafflesLandmarkInfo" bundle:nil]; [self.navigationController pushViewController:rafflesLandmarkInfo animated:YES]; [rafflesLandmarkInfo release]; 

  if (instance.activeLandmark ==@"raffles"){ [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:instance.activeLandmark ofType:@"html"]isDirectory:NO]]]; } 

但是当我从选项列表中select莱佛士登陆网站时,该应用程序崩溃。 罪魁祸首似乎是

 [instance.activeLandmark setString:@"raffles"]; 

如何在第一个ViewController中设置activeLandmarkstring,这样当它加载第二个ViewController时,它会根据第一个ViewController中设置的值显示内容?

在你的单例中,activeLandmarkstring在被分配给它之前是被分配/初始化的吗?