0

そのため、アプリを起動するたびに、このように表示され、最初の 3 つのセルはすべて同じです。しかし、上下にスクロールし始めると修正され、セル 2 と 3 に正しい情報が表示されます。

これは現在、私のコードがどのように見えるかです:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *CellIdentifier = @"MyFeedCell";
    SampleTableCell *cell = (SampleTableCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        NSArray* topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"SampleTableCell" owner:self options:nil];
        for (id currentObject in topLevelObjects) {
            if ([currentObject isKindOfClass:[UITableViewCell class]]) {
                cell = (SampleTableCell *)currentObject;
                break;
            }
        }
    }
    // Configure the cell.
    NSUInteger row = [indexPath row];
    NSUInteger count = [_allEntries count];
    RSSEntry *entry = [_allEntries objectAtIndex:(count-row-1)];
    NSString *imageString = entry.image;
    imageString = [imageString stringByReplacingOccurrencesOfString:@"128x67" withString:@"768x432"];
    NSLog(@"IMAGE : %@", imageString);

    NSURL *imgURL = [[NSURL alloc] initWithString:imageString];
    [cell.profilePicture setImageWithURL:imgURL placeholderImage:[UIImage imageNamed:nil]];
    NSString *date = [entry.articleDate substringToIndex:12];
    cell.datePosted.text = date;
    cell.name.text = entry.articleTitle;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;


    return cell;
}

これが現在どのように機能しているかの gif です http://gyazo.com/2011099496257445c008a717beabd8fd

4

1 に答える 1

0

topLevelObjects ギャンビット全体はもはや必要ありません。コードをこれに置き換えて、まだ問題が発生しているかどうかを確認してください。

//this above @interface
static NSString *CellIdentifier = @"MyFeedCell";

//Put this in viewDidLoad
[self.table registerClass:[SampleTableCell class] forCellReuseIdentifier:CellIdentifier];
[self.table registerNib:[UINib nibWithNibName:@"SampleTableCell" bundle:nil] forCellReuseIdentifier:CellIdentifier]


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

    SampleTableCell *cell = (SampleTableCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

       // Configure the cell.
    NSUInteger row = [indexPath row];
    NSUInteger count = [_allEntries count];
    RSSEntry *entry = [_allEntries objectAtIndex:(count-row-1)];

    NSString *imageString = entry.image;
    imageString = [imageString stringByReplacingOccurrencesOfString:@"128x67" withString:@"768x432"];
    NSLog(@"IMAGE : %@", imageString);

    NSURL *imgURL = [[NSURL alloc] initWithString:imageString];
    [cell.profilePicture setImageWithURL:imgURL placeholderImage:[UIImage imageNamed:nil]];

    NSString *date = [entry.articleDate substringToIndex:12];
    cell.datePosted.text = date;
    cell.name.text = entry.articleTitle;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;


    return cell;
}
于 2013-11-08T00:10:26.330 に答える