我正在構建一個使用UICollectionView顯示博客帖子數組的應用程序。如何從DetailView中推送UITableView?
當用戶點擊帖子時,會推送DetailView以顯示帖子的內容。
在Detail View中,可以看到張貼的圖片,文字等。還有一個按鈕可以顯示註釋。
我希望用戶能夠點擊comments
按鈕並加載一個UITableView,它將顯示爲該帖子寫的所有評論。這是我無法實現的部分。
我用接口生成器創建了一個UITableView,並使用segue將它連接到DetailView。當點擊按鈕comments
時,我得到一張空桌子。
在我的DetailView攻的評論按鈕觸發此:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"showComments"]) {
NSDictionary *post = self.detailItem;
NSArray *commentThread = [post objectForKey:@"comment"];
// how do I pass the commentThread to the UITableView at the other end of the segue?
}
}
任何想法如何完成這件事?很高興發佈更多的代碼。
這是我CommentViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"commentCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
NSDictionary *comment = [self.commentArray objectAtIndex:indexPath.row];
NSString *commentText = [comment objectForKey:@"comment_text"];
NSString *commentAuthor = [comment objectForKey:@"comment_author"];
cell.textLabel.text = commentText;
return cell;
NSLog(@"%@", comment);
}
而且
#import <UIKit/UIKit.h>
@interface CommentViewController : UITableViewController {
NSArray *commentArray;
}
@property (strong, nonatomic) id commentArray;
@end
@CocoaaEv - 我確實爲UITableView創建了一個名爲'CommentsControllerView.h/m'的控制器 - 它們都是基於UITableView創建的,因此它們包含一堆模板代碼 - 您提供的代碼,應該放在DetailView按鈕在哪裏? – pepe
上面的代碼會在您準備提供評論按鈕的控制器中使用segue方法。我認爲你想在按下評論按鈕後推送一個評論的桌面視圖。當按下按鈕時,您將使用正確的segue名稱調用帶標識符的segue。此外,請確保在故事板中將新控制器分配給對象檢查器中的tableview控制器。然後在準備segue時,您可以傳入實際評論或某種類型的標識符,以便您可以獲得該項目的實際評論。 – CocoaEv
這是非常有幫助的@cocoaev - 到目前爲止,我已經設置了所有東西,沒有錯誤 - 我已經添加了來自'CommentViewController的代碼。m'在OP中 - 沒有錯誤,但表仍然顯示爲空白,如果數據未被傳遞 - 「NSLog」也不會輸出任何內容 - 缺少什麼? – pepe