0

Xcode の UITableView について質問があります。セルにテキストがありますが、テストすると表示されません。プログラミングを始めたばかりなので、何か助けていただければ幸いです。誰かが私に電子メールを送信できる場合は、最も役立つプロジェクト ファイルを提供できます。

4

2 に答える 2

1

テーブルビューがどのように機能するかを知っておく必要があります。利用可能な場合はサンプルコードを含め、このトピックに関する優れたオンラインドキュメントのいくつかを注意深く読むことをお勧めします。

テーブルビューのどの部分が表示されるかをシステムが決定し、表示される内容の詳細を提供するようにコードに要求することを覚えておく必要があります。

セルの内容を提供するルーチンを実際に提供した場合は、ブレークポイントまたはログを入れて、コードが呼び出されていることを確認してください。その場合は、簡単なものを返し、これが表示されることを確認することから始めます。

また、質問に追加するために何をしているのかを説明したコードを準備します。あなたは決して知りません、それをするだけで何が悪いのかがあなたに明らかになるかもしれません。そうでない場合は、それを投稿して、他の誰かにあなたを助ける機会を与えてください。

于 2012-11-23T11:29:14.030 に答える
0

セミコロンが欠けている可能性があることがわかっている限り、驚くべきことにコードを提供していないため、問題を直接解決することはできません! (JK)

これは、私が少し前に誰かに与えた詳細な回答であり、あなたの状況に非常に関連しています

ただし、テーブル ビューの場合は、次のコードを使用します。

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

{


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


    if (cell == nil) {

        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                       reuseIdentifier:@"UITableViewCell"]
                autorelease];


        cell.textLabel.text = nil;                


    }

    if (cell) {

        //customization 
        cell.textLabel.text = @"Text Label";
    }

    return cell;
}

あなたはコーディングを始めていると言っています....説明させてください。まず、本を手に取ってみてください。

大オタク牧場ガイド

言語、API、およびプログラミングのスキルを高めるために、たくさんの本を読むことをお勧めします

デキューとは、基本的に、表示されていないセルを消去してキャッシュすることです。つまり、スクロールして通過します。したがって、cell == nilおそらく4つの状況で呼び出されます(私が考えることができます):

最初にテーブル ビューを設定するとき (セルは nil になります) データをリロードするとき このクラスに到達するたびに セルがテーブル ビューから見えなくなったとき したがって、デキューの識別子は ID のようなものです。次に、セルが nil かどうかを確認するステートメントで、セルを初期化します。オーバーライドされた init メソッド initWithStyle を確認できます。これはセルのタイプです。カスタマイズできる変数が異なるさまざまなタイプがあります。デフォルトを見せてもらいました。次に、前述のデキュー識別子である reuseIdentifier を使用します。一致する必要があります。この場合、各セルにnilは同じテキストが含まれているため、実際には問題になりません。デキューしたセルが、実装した適切なカスタマイズで戻ってくるようにします。次に、セルが実際に有効になったら、カスタマイズできます。

また、各セルに同じテキストを使用しています。セルごとに異なるテキストが必要な場合は、NSArray に慣れてください。次に、numberOfRowsForSection で配列カウントを指定してから、次のようにします。

cell.textLabel.text = [array objectAtIndex: [indexPath row]];

indexPath は cellForRowAtIndexPath メソッドで提供される NSIndexPath 引数です。行変数は行番号なので、すべてが適合します!

うわー、それは正しく理解することがたくさんありました!さあ、客観的な初心者になるのをやめて、本を読み始めましょう!

詳細については、次を参照してください。

テーブル ビュー Apple ドキュメント

于 2012-11-23T11:39:34.790 に答える