0

次のコードでUITableViewを開始しました。

ProductTableView *tableProd = [[ProductTableView alloc]initWithNibName:@"ProductTableView" bundle:nil];

xibファイルは存在します!

このテーブルを別のUIViewに表示しているので、次の方法でこのテーブルに追加します。

[content addSubview:tableProd.view];

xcodeを使用して標準のUITableViewを作成し、次の関数を設定しました。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
   return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
   return 10;
}

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

   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
   if (cell == nil) {
      cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
   }
   cell.textLabel.text = @"test";    
   return cell;
}

テーブルは、テストで満たされた10行でシミュレーターに表示されます。ただし、スクロールを開始し、最初のセルが画面を離れると、シミュレータがクラッシュしてEXC_BAD_ACCESSエラーが発生します。Instrumentsを使用してNSZombieを検出しようとしましたが、ソフトウェアがゾンビにフラグを付けました。残念ながら、このエラーを原因までさかのぼることはできません。 ゾンビの楽器のスクリーンショット

ここで何がうまくいかないのか誰かが知っていますか?

4

1 に答える 1

1

ビューコントローラのビューを別のビューコントローラビューのサブビューとして追加する場合、ProductTableViewビューコントローラの割り当てが解除されていると推測されます(サブビューとして追加すると、ビューは保持されますが、所属するビューコントローラは保持されないため)

ProductTableView View ControllerをコンテナViewControllerのプロパティとして追加して、保持されるようにします

于 2012-05-26T09:39:36.187 に答える