1

私はテーブルビューの使い方を模索してきましたが、正直言って少し行き詰まっています。行数が制限されたテーブルビュー(たとえば最大50)を使用したかったのです。空から始まり、0行です。それから私は次の線に沿って何かをしたかった:

[self logMessage:@"Waiting for response"];

これにより、上記のテキストの下部に新しい行が挿入されます。この疑似関数をもう一度呼び出すと、次のようになります。

[self logMessage:@"Server response received"];

前の行の下にさらに別の新しい行を挿入し、表示されていることを確認する必要があります。上記の制限である50に達し、新しいメッセージが挿入されたら、最も古いメッセージを削除したかったのです。これらはすべてスクロール可能で、デフォルトで最新のものが表示されます。

私はこれを行うための正しいことを見ていますか?最終的には、これをメインウィンドウの下の素敵な小さな引き出しに入れて、必要に応じてメインメニューから切り替えることができるようにしたいと思っていました。しかし、私が言ったように、私はテーブルビューを適切に使用する方法を理解することができません。それは他のオブジェクトほど単純ではないようです。

サンプルコードをいただければ幸いです。

4

1 に答える 1

1

ログ ビューアは の読み取り専用アプリケーションであるUITableViewため、基本を理解すれば、その方法はかなり簡単です。テーブル ビューはデータ モデルに依存して、表示する必要がある正しい情報を提供することを思い出してください。

「ログの最後の 50 行」のデータ モデルは、次のように、次のように行を追加し、「オーバーフロー」行を削除するためにNSMutableArray使用します。insertObject:atIndex:removeLastObject

NSMutableArray *logLines = [NSMutableArray array]; // <<== this goes into the init method

-(void) addLogLine:(NSString*)line {
    [logLines insertObject:line atIndex:0];
    while (logLines.count > 50) {
        [logLines removeLastObject];
    }
}

これで、テーブルの「モデル」として使用できるようlogLinesになりました。データ プロバイダーは、logLines.count; テーブル内の各行のコンテンツは、 内の対応するインデックスにあるオブジェクトになりますlogLinesUITableViewお気に入りの iOS チュートリアルのセクションを見て、配列要素をUITableView.

于 2012-07-08T23:19:06.627 に答える