0

まず、スライドアプリケーションがあり、そこにテーブルビューがあります。メインメニューのセル「CellInMainMenu」をタップすると、プッシュでテーブルビュー「TV1」が開き、このテーブルビュー(「TV1」)内のセルに配列でデータが入ります。この tableview("TV1") を横にスライドさせ、セル "CellInMainMenu" をもう一度タップすると、アプリケーションが再び tableview("TV1") を開きますが、! Tableview("TV1") が再び開始され、セルに情報が入力されます! アプリケーションの起動時にすべてのデータを一度にロードする方法は?

(私の英語は私の言語ではないので、本当に申し訳ありません)

誰か助けてくれませんか?

「TV1」のコード:

- (void)viewDidLoad    
{    
[super viewDidLoad];
daoDS = [[SampleDataDAO alloc] init];
self.ds = daoDS.PopulateDataSource;    
}

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

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil) 
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}

SampleData *sample = [self.ds objectAtIndex:indexPath.row];
cell.textLabel.text = sample.HeroesName;
cell.textLabel.textColor = [UIColor whiteColor];
cell.textLabel.font = [UIFont fontWithName:@"Trajan-Regular" size:18.0f];

return cell;

}

(すべてのアプリケーションは正常に動作します。毎回ではなく、1回だけロードする方法を知りたいだけです)

4

1 に答える 1

0

問題は、テーブル ビューのコードではなく、どのようにプッシュするかです。セグエを呼び出すと、常に新しいセグエが作成されます。

代わりに、最初にのみプッシュし、それへの参照を保持してから、メニューの選択に基づいて更新することができました. 一部のカスタム デリゲート@protocolは、おそらくこれに最適なパターンです。

于 2013-07-24T10:22:08.153 に答える