我正在尝试将数据从一个视图控制器中的 UITextView 传递到另一个视图控制器中的 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 输出适当的文本
在我的第二个视图控制器中,我声明了这个接口:
@class SongDoc;
@interface LyricKaraokeViewController : UIViewController
@property (nonatomic, retain) SongDoc * detailItem;
@end
和这个实现(为简单起见仅显示 viewDidLoad ):
- (void)viewDidLoad
{
NSLog(@"%@", self.detailItem.data.lyrics);
[super viewDidLoad];
}
我确认 detailItem 中有属性 data.lyrics,因为我们传入了一个 SongDoc 对象,并且我之前在 prepareForSegue 中输出了 SongDocs 内容......
我的问题是在第二个视图控制器中我收到一个错误,说详细项没有声明属性歌词
但我知道这是不真实的,为什么会发生这种情况?
任何帮助都会非常感谢:)