2012-11-23 3 views
0

UICollectionView를 사용하여 블로그 게시물의 배열을 표시하는 앱을 만들고 있습니다.DetailView 내에서 UITableView를 푸시하는 방법은 무엇입니까?

사용자가 게시물을 탭하면 DetailView가 푸시되어 게시물의 내용을 표시합니다.

세부보기 내에서 사진, 텍스트 등을 볼 수 있습니다. 설명을 표시하는 버튼도 있습니다.

사용자가 comments 버튼을 탭하고 해당 게시물에 대해 작성된 모든 댓글을 표시하는 UITableView를로드 할 수있게하려고합니다. 이것이 내가 구현할 수없는 부분입니다.

인터페이스 작성기로 UITableView를 만들고 세그를 사용하여 DetailView에 연결했습니다. comments 버튼을 탭하면 빈 테이블이 나타납니다.

-(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? 
    } 
} 

모든 아이디어를 어떻게가이 작업을 수행하려면 : 코멘트 버튼을 눌러 내 DetailView에

이 트리거? 더 많은 코드를 게시하게되어 기쁩니다.

이 내 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); 
} 

그리고 CommentViewController.h

#import <UIKit/UIKit.h> 

@interface CommentViewController : UITableViewController { 
    NSArray *commentArray; 
} 

@property (strong, nonatomic) id commentArray; 

@end 

답변

2

당신이 당신의 jQuery과의 컨트롤러를 창조 하셨 는가 것입니다?

디자인 목표를 올바르게 이해하지 못해서 기본 답변 인 것처럼 보이지만 밀실을 수행하는 경우 tableview 컨트롤러를 초기화하고 데이터 소스를 설정해야합니다. SEGUE 위해 준비 예를 들면

,이 같은 있어야한다 : 사용자 정의의 tableview 컨트롤러에서

CommentsControllerView *myTableView = segue.destinationViewController; 
myTableView.commentsArray = self.commentsArray; 
myTableView.itemId = self.itemId; 

을, 당신은 코멘트 배열 및 설치 표준에 따라 당신의 tableview를 보유 할있는 NSArray 속성을 만들 수 있습니다 절차. 또는 일부 논리를 사용하여 적절한 주석을 검색하고 새로운 tableview에 대한 tableview 데이터 소스를로드 할 수 있습니다. 초기화 할 때 데이터를 전달한 다음이를 tableview 대리자 및 데이터 소스 메서드를 사용하는 표준 tableview처럼 작동해야합니다.

그게 도움이됩니까? 그렇게되기를 바랍니다.

+0

@CocoaaEv - 'CommentsControllerView.h/m'이라는 UITableView 용 컨트롤러를 만들었습니다. 둘 다 UITableView를 기반으로 만들어 졌으므로 템플리트 코드 묶음이 포함되어 있습니다. 제공 한 코드, DetailView 어디 버튼이 무엇입니까? – pepe

+0

위의 코드는 의견 단추를 제공하는 컨트롤러의 준비 방법에 포함됩니다. 코멘트 버튼을 누른 후에 주석의 tableview를 푸시하고자한다고 생각합니다. 버튼이 눌려지면, 올바른 segue 이름을 가진 식별자를 가진 segue를 호출 할 수 있습니다. 또한 스토리 보드에서 오브젝트 인스펙터의 테이블 뷰 컨트롤러에 새 컨트롤러를 지정했는지 확인하십시오. 그런 다음 Segue를 준비하면서 실제 댓글이나 식별자 유형을 전달하여 해당 항목에 대한 실제 댓글을 얻을 수 있습니다. – CocoaEv

+0

그 것이 @cocoaev에 매우 도움이됩니다. 지금까지 모든 것을 설정하고 오류가 없습니다. - CommentViewController의 코드를 추가했습니다.m '은 OP에서 - 오류는 없지만 데이터가 전달되지 않는 것처럼 테이블이 여전히 공백으로 표시됩니다. -'NSLog '도 아무 것도 출력하지 않습니다. 무엇이 누락 되었습니까? – pepe

관련 문제