私の AppDelegate では、init メソッドの終わり近くで [self setup] メソッドを呼び出します。このメソッドは、URL から文字列を取得してトリミングし、その文字列を _songDirectory というプロパティに割り当てます。
ヘッダー ファイルでの表示方法は次のとおりです。
@property (retain) NSString *_songDirectory;
[setup] メソッドでの割り当て方法は次のとおりです。
//set a URL string
NSString *urlString = [NSString stringWithFormat:@"http://www.blahblahblah.com/php/dev/blah.php?routine=blah"];
NSMutableString *infoString = [self getInfoStringFromURL: urlString];
//get the song directory as a string from the infostring
NSRange startIndex = [infoString rangeOfString:@"song_directory=="];
NSRange endIndex = [infoString rangeOfString:@"end_of_data=="];
_songDirectory = [NSString stringWithString: [infoString substringWithRange: NSMakeRange(startIndex.location + startIndex.length, endIndex.location - startIndex.location - startIndex.length)]];
NSLog(@"STRING IN APP DELEGATE: %@", _songDirectory);
NSLog は、アプリ デリゲートで呼び出されたときに正しい文字列を出力します。しかし、新しいシーンをプッシュした後、そこから _songDirectory にアクセスできません。プッシュされたシーンの次のコードは、EXC_BAD_ACCESS を生成します。
NSLog(@"STRING IN PUSHED SCENE: %@", [[[UIApplication sharedApplication] delegate] _songDirectory]);
上記のステートメントを使用して、アプリ デリゲートから int を取得できますが、文字列は取得できません。いくつかの洞察をいただければ幸いです!