0

NSMutableArray を含む UIViewController があります。この配列を UITableViewController に渡し、テーブルで表示したい..どうすればそれを行うことができますか??

つまり、テーブルを (作成) するのではなく、UIViewController から UITableViewController に NSMutableArray または任意の変数を (渡し) たいということです。

newBooksArray を UITableViewController に渡したいので、UIViewController に次のように書きました。

mytable.gettedBooks = newBooksArray; // gettedBooks is NSMutableArray in UITableViewController

mytable.try = @"Emyyyyy"; // try is a NSString in UITableViewController

そして、DidloadViewのUITableViewControllerで私が書いた

NSLog(@"Try: %@", try); // out is null
NSLog(@"my getted array count: %d", [gettedBooks count]); // out is 0

何か助けて???

4

3 に答える 3

2

UITableView を作成し、配列で埋める

この問題のために特別に上記のチュートリアルを作成しました。

開発者ドキュメントで学ぶことができる方法は他にもあります

まず、必要なデリゲート呼び出しが に含まれていることを確認します@interface

@interface RootViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
{
    NSMutableArray         * feed;
    UITableView            * tableView;
}

コントローラーで次のようなものが必要です。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [feed count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

    cell.textLabel.text = [mutableArray objectAtIndex:indexPath.row];
    return cell;
}

numberOfRowsInSectionから必要な数のセル行を実際にロードしていることを確認してくださいNSMutableArray。そしてcellForRowAtIndexPath実際に、コンテンツを your の各行から の各行にロードしNSMutableArrayますUITableView

別のコントローラに渡すために、このようなものが必要ではありませんか?

UITableViewController *viewController = [[UITableViewController alloc] initWithNibName:@"TableXIB" bundle:nil];
[viewController setGettedBooks:newBooksArray];
[self.navigationController pushViewController:viewController animated:YES];
于 2012-04-21T13:24:31.020 に答える
1

UITableview のチュートリアルとサンプル コード

うまくいけば、これはあなたを助ける..楽しむ

于 2012-04-21T13:17:00.823 に答える
0

タブバーコントローラーを使用していて、最初のビューコントローラーがテーブルビューコントローラーで、2番目がUIViewコントローラーである場合。コードセグメントに従うことで、テーブルビューコントローラにデータを渡すことができます。arrayDataテーブルビューコントローラで(NSMutableArray)という変数を宣言し、プロパティを設定する必要があります(別のクラスからこれにアクセスする必要があるため)。これからarrayData、tableViewにデータをロードする必要があります。Viewコントローラークラスに次のコードを記述します。

    NSArray *viewControllers = [self.tabBarController viewControllers];
    MyTableViewController *mTable = [viewControllers objectAtIndex:0];

    [mTable SetArrayData:arrayFromViewController];

    [mTable.tableView reloadData];

ナビゲーションコントローラーを使用している場合は、次のことができます

    NSArray *viewControllers = [self.navigationController viewControllers];
    MyTableViewController *mTable = [viewControllers objectAtIndex:0];

    [mTable SetArrayData:arrayFromViewController];

    [mTable.tableView reloadData];

オプションで、デリゲートを使用できます。

于 2012-04-21T14:46:18.887 に答える