というわけで歴史を少々。これは、私が公開したアプリで動作するコードです。iOS 6 より前は問題なく動作していましたが、現在は動作しません。機能するが理想的ではない完全なハックを見つけたので、いくつかの答えを求めてStackoverflowに目を向けています。
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"GoogleSegue"])
{
Band *thisBand = self.band;
NSString *googleSearchString = thisBand.bandLinks.googleSearchLink;
NSURL *googleSearchUrl = [NSURL URLWithString:googleSearchString];
WebViewController *webViewController = segue.destinationViewController;
webViewController.delegate = (id)self;
webViewController.url = googleSearchUrl;
webViewController.navigationItem.title = @"Google";
} else if ([segue.identifier isEqualToString:@"YouTubeSegue"])
{
Band *thisBand = self.band;
NSString *youTubeString = thisBand.bandLinks.youTubeLink;
NSURL *youTubeUrl = [NSURL URLWithString:youTubeString];
WebViewController *webViewController = segue.destinationViewController;
webViewController.delegate = (id)self;
webViewController.url = youTubeUrl;
/*This is the magic line, if I comment this out, the values showing up in the
destination view controller's properties are null. If I have this NSLog uncommented
everything works flawlessly. Does anyone have an explanation? */
NSLog(@"%@%@", webViewController.url, youTubeUrl);
webViewController.navigationItem.title = @"You Tube";
}