[英]Can't pass data with prepareForSegue:
我試圖將數據從一個視圖控制器中的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內容。
我的問題是在第二個視圖控制器中,我收到一條錯誤消息,說詳細信息未聲明屬性歌詞
但是我知道這是不正確的,為什么會這樣呢?
任何幫助將是巨大的感謝:)
@class SongDoc;
僅告訴編譯器SongDoc
是一個類,但不讀取實現文件。 你必須
#import "SongDoc.h"
而是讓編譯器知道該類聲明了哪些屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.