0

ユーザーに応じて変更される入力に応じてテーブルビューの数を変更したいのですが、テーブルビューに応じて異なるデータを保持する必要があるため、データソースでこれらのテーブルビューを参照できる必要があります。作成したテーブルビューごとに一意の変数を作成できれば、これができると思いましたが、クラス全体でこれらの変数を参照できるようにする必要がありますか?

4

2 に答える 2

2

NSMutable Array を作成し、それらに UITableView を直接追加できます。静的参照を使用してグローバル変数ストアを作成し、グローバルにアクセスできます。

@interface Singleton : NSObject {
  NSMutableArray *TableArray;
}
+ (Singleton *)instance;
@end

@implementation Singleton

+ (Singleton *)instance  {
    static Singleton *instance;

    @synchronized(self) {
        if(!instance) {
            instance = [[Singleton alloc] init];
        }
    }
    return instance;
}

もう 1 つの方法は、appdelegate に NSMutableArray を含め、アプリケーション全体でグローバルにアクセスすることです。

オブジェクトを動的に作成することは問題ではありません。を使用して、UITableview をいくつでも作成し、それらを NSMutableArray に追加できます。

UITableview *temp = [UITableview alloc] initWithFrame : ... ];
temp.delegate = self ; 
tableArray.addObject(temp);

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

      if(tableView  = [tableArray objectAtIndex:x]{
        // do this 
       }
        else if (select appropriate table view from array ){

       }
       //do this for the rest
 }

あなたが直面しているのは設計上の問題です。その他の方法については、オブジェクト通信に関する Apple ガイドを参照してください。

于 2012-06-22T03:08:09.343 に答える
1

それらすべてを格納する NSMutableArray メンバー変数を作成してみませんか? データ ソースを変更する必要がある場合は、特定のテーブルビューをデータ ソースに設定します。あなたが何をしようとしているのか正確にはわかりませんが、それらを動的に追加してデータソースを変更することは問題になりません。

于 2012-06-22T02:31:47.193 に答える