9

内でを使用するにはどうすればよいですか? 以下は、私がやろうとしていることの例です (ただし、これはUITableview私のストーリーボードにあるだけです):

UIViewController 内の UITableView

ヘッダーにデリゲートとデータ ソースを追加する必要があることがわかりました。

//MyViewController.h
@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>

実装ファイルに、必要なメソッドを追加しました。

//MyViewController.m

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"cellForRowAtIndexPath");

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"FileCell"];

    NSLog(@"cellForRowAtIndexPath");
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSArray *fileListAct = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:nil];

    cell.textLabel.text = [NSString stringWithFormat:@"%@",[fileListAct objectAtIndex:indexPath.row]];

    return cell;
}

delegatedatasourceおよびUITableViewはすべて、ストーリーボードに接続されています。

Interface Builder Connections Outlet の UITableView Delegate と DataSource

TableView に指示したコンテンツをロードすることができません。それは常に空白になります。cellForRowAtIndexPath メソッドで指定したコンテンツで TableView が満たされないのはなぜですか? ここで何が欠けていますか?

4

4 に答える 4

11

ストーリーボードのテーブルビューからデータソースとデリゲートアウトレットをビューコントローラーにリンクする必要があります。これはオプションではありません。これが、テーブルが空白の理由です。View Controller のテーブル ビュー メソッドを呼び出すことはありません。(これらにブレークポイントを設定し、トリガーされないことを確認することで、これを証明できます。) どのような種類のビルド エラーが発生していますか?

于 2012-04-25T23:59:18.527 に答える
0

YourTableView には IBOutlet が必要です。次に、TableView を YourTableView に接続します。

于 2013-11-08T22:10:42.100 に答える