0

配列をtableViewセルにプッシュするためのstackoverflowの最良の答えは、「もっと簡単なものから始める」ことです。私たちはそれよりもうまくやれると思います...

rootViewからのデータの取得に対処する適切な方法が見つからないことを除いて、すべてが整っていると思います。下記参照。

次のコードは、一番上のセルに「GetCellInfoHere」があるグループに3つのセルがあるDetailViewControllerに配列をプッシュします。実際のデータを一番上のセルに入れるために私が何をする必要があるかを誰かが説明できますか?ありがとう

RootViewController.m

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath     *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    DetailViewController *selectedCell = [[DetailViewController alloc] initWithStyle:UITableViewStyleGrouped];
    [self.navigationController pushViewController:selectedCell animated:YES];

}

DetailViewController.h

@interface DetailViewController : UITableViewController {

    NSArray *displayCell;

}
@end

DetailViewController.m

- (void)viewWillAppear:(BOOL)animated
{

    //Display the selected cell data

    displayCell = [[NSArray alloc] initWithObjects:@"Get Cell Info Here", nil];  

    //Set the title of the navigation bar
    self.navigationItem.title = @"wtf";
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 


    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] ;

    // Make cell unselectable
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 

    NSString *cellText = nil;

    switch ( indexPath.row ) {
        case 0: {
            cellText = [displayCell objectAtIndex:indexPath.row]; 

            break ;
        }
        case 1: {

            break ; 
        }       
        case 2: {

            break ;
            default:
                break;
            }               
        }

        cell.textLabel.text = cellText;
        return cell;

}
4

1 に答える 1

0

次のようにプロパティを DetailViewController に追加します。

@property (nonatomic, retain) NSArray *passedItems;

次に、ルート ビュー コントローラーに次のようにアイテムを渡します。

selectedCell.passedItems = passedItems; // passedItems is array in rootview controller

次に、DetailedViewController で passedItems を使用できます。

于 2012-05-29T21:58:21.107 に答える