2

誰かが助けてくれることを願っています...

4 つのセクションを持つ静的 UITableView コントローラーをセットアップしました。上の 2 つのセクションは、データを入力するためのものです。3 番目のセクションには 1 つのセルがあり、保存ボタンが含まれています。

最後のセクションには 6 つのセルがあり、長期的には、これらの 6 つのセルに最初の 2 つのセクションのデータを入力できるようにしたいと考えています...

だから私は小さな例を試してみましたが、うまくいきません。コンソールは次のエラーを返します。

UITableView dataSource は、tableView:cellForRowAtIndexPath:' からセルを返す必要があります:' *最初のスロー コール スタック:

次に例を示します。

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

    NSIndexPath *EditRow = [NSIndexPath indexPathForRow:1 inSection:4];
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:EditRow];

    NSString *test = @"Test";
    cell.textLabel.text = test;

    NSLog(@"Index Path: %d", indexPath.row);
    NSLog(@"Cell ID:, %@", CellIdentifier);

    return cell;
}

だから私の質問は..特定のセクションの特定のセルを更新するにはどうすればよいですか?

ありがとう

4

2 に答える 2

5

静的セルを実装するときは、Xcode が生成する一般的なスタブから、、、cellForRowAtIndexPathおよびnumberOfSectionsInTableViewメソッドnumberOfRowsInSectionを削除します。UIViewControllerこれらは、動的セルを扱っている場合にのみ必要なようです。

次に、ストーリーボードでコントロールをドラッグして、プログラムで設定する必要があるセル内のすべての UI 要素に対して名前付きアウトレットを作成します。私の場合、これらは通常UILabels です。コントローラーのviewDidLoadメソッドでは、これらのアウトレットの適切な初期値を設定します。たとえば、次のようになります。

self.nameLabel.text = self.dataSource.name;

これを配線したら、任意の値を自由に変更できます。

これがうまくいくことを願っています。これを行うためのより良い(より適切な?)方法を持っている人から学べれば幸いです。

于 2012-07-07T16:38:08.597 に答える
1

[UITableView (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation] を呼び出すだけで、適切なインデックス パスに対してデータ ソースが呼び出されます。

于 2012-07-06T15:43:03.417 に答える