あるViewControllerのUITextViewから別のViewControllerのUITextViewにデータを渡そうとしています。私のアプリケーションはストーリーボードを使用しています。
最初のビューコントローラーで私は言います:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
LyricKaraokeViewController *karaokeController = segue.destinationViewController;
karaokeController.hidesBottomBarWhenPushed = YES;
SongDoc *song = [[SongDoc alloc] initWithTitle:@"Title" lyrics:@"Test" thumbImage:nil];
karaokeController.detailItem = song;
NSLog(@"%@", karaokeController.detailItem.data.lyrics);
}
NSLogは適切なテキストを出力します
2番目のViewControllerで、次のインターフェイスを宣言します。
@class SongDoc;
@interface LyricKaraokeViewController : UIViewController
@property (nonatomic, retain) SongDoc * detailItem;
@end
そしてこの実装(簡単にするためにviewDidLoadを示しているだけです):
- (void)viewDidLoad
{
NSLog(@"%@", self.detailItem.data.lyrics);
[super viewDidLoad];
}
そして、SongDocオブジェクトを渡しており、直前にprepareForSegueにSongDocsの内容を出力しているため、detailItemにプロパティdata.lyricsがあることを確認します。
私の問題は、2番目のビューコントローラーで、詳細アイテムがプロパティの歌詞を宣言していないというエラーを受け取っていることです。
しかし、私はこれが真実ではないことを知っているのに、なぜこれが起こっているのですか?
どんな助けでも大いに感謝します:)