0

テーブルビューでplistデータを表示しようとしています。

私の問題は、下にスクロールした後、以前に取得したデータを失ったことです。実際に私はカスタムセルを使用しているので、これが起こっていると思います.

テーブルのソースとデリゲートのコードは次のとおりです。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [tableData count];
}

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

 static NSString *kCellID = @"Cell";

OffersCustomCell *cell = (OffersCustomCell *)[mytableView dequeueReusableCellWithIdentifier:kCellID];
if (cell == nil)
{

    NSString *path = [[NSBundle mainBundle] pathForResource:@"OffersList" ofType:@"plist"];

    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"OffersCustomCell" owner:self options:nil];

    cell = [nib objectAtIndex:0];



    cell.titleLabel.font = [UIFont fontWithName:@"Formata-Regular" size:13.0f];
    cell.saveLabel.font = [UIFont fontWithName:@"Formata-Bold" size:14.0f];
    cell.nowLabel.font = cell.titleLabel.font;

    cell.selectionStyle = UITableViewCellSelectionStyleNone;

}



NSDictionary *dict = [tableData objectAtIndex:indexPath.row];
NSLog(@"%@",dict);


cell.titleLabel.text = [dict  objectForKey:@"title"];
cell.nowLabel.text = [dict objectForKey:@"price"];
cell.saveLabel.text = [dict objectForKey:@"rondel"];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
       [mytableView deselectRowAtIndexPath:indexPath animated:YES];
 }
4

3 に答える 3

0

データを保存し、そのクラスを使用した時間をリロードして、データを正しく効率的に復元する別のクラスを使用できます。

于 2013-02-13T08:06:10.450 に答える
0

各セルの高さを設定しましたか

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    CGFloat height = 0;
    //calculate height for each cell

    return height;
}

この UITableView デリゲート メソッドを使用して、セルの高さを設定します。

于 2013-02-13T08:03:22.193 に答える
0

私はそれを解決しました。:)

唯一の問題は、UItableview のメモリを保持していないことです。

 tableData = [[NSArray arrayWithObjects:[dic objectForKey:@"Response"], nil] retain];
于 2013-02-14T05:13:48.407 に答える