滚动UITableView时重复数据

时间:2015-11-19 05:50:48

标签: ios objective-c uitableview

我遇到了tableview的问题,当表格首先显示一切看起来很棒但是如果我向上和向下滚动时, NSLog(@"页面名称:%@",单元格。 pageName.text); 输出值将重复,这将导致滚动滞后。这是我的代码:

#import "HomeTVC.h"
#import "facebook.h"
#import "HomeTVCell.h"
#import <SDWebImage/UIImageView+WebCache.h>

@interface HomeTVC ()<UITableViewDataSource, UITableViewDelegate>
{
    NSDictionary *userPageLikesParams;
    NSArray *pagesInfo;
}
@end

@implementation HomeTVC


- (void)viewDidLoad {
    [super viewDidLoad];

    self.tableView.delegate = self;
    self.tableView.dataSource = self;

    facebook *fb = [[facebook alloc] init];

    userPageLikesParams = @{@"fields": @"about,name,created_time,picture",@"limit": @"10"} ;
    [fb getUserPagelikes:userPageLikesParams completionHandler:^(NSDictionary *pagesResult) {

        if (pagesResult != nil) {
            pagesInfo = pagesResult[@"data"];

            dispatch_async(dispatch_get_main_queue(), ^{
                [self.tableView reloadData];
            });
        }

    }];



}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    NSLog(@"table count : %d", (int)pagesInfo.count);
    if (pagesInfo == nil) {
        return 0;
    } else {
        return pagesInfo.count;
    }
}


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

    static NSString *CellIdentifier = @"CellIdentifier";

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

    if (cell == nil) {
        cell = [[HomeTVCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    NSURL *imageURL = [NSURL URLWithString:[pagesInfo[indexPath.row] valueForKeyPath:@"picture.data.url"]];
    NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
   // UIImage *pageProfileImage = [UIImage imageWithData:imageData];
   // NSLog(@"pages info : %@", pagesInfo[indexPath.row]);
   // NSLog(@"pages info image URL : %@", imageURL);


    // cache the image using sdwebimage
    cell.pageProfilePic.layer.backgroundColor=[[UIColor clearColor] CGColor];
    cell.pageProfilePic.layer.borderWidth= 2.0;
    cell.pageProfilePic.layer.masksToBounds = YES;
    cell.pageProfilePic.layer.borderColor=[[UIColor whiteColor] CGColor];
    cell.pageProfilePic.layer.cornerRadius= 30.0;
    [cell.pageProfilePic sd_setImageWithURL:imageURL placeholderImage:[UIImage imageNamed:@"placeholder.jpg"]];
    //cell.pageProfilePic.image = pageProfileImage;
    cell.pageName.text = pagesInfo[indexPath.row][@"name"];
    NSLog(@"page name : %@", cell.pageName.text);


    return cell;
}

提前致谢。

0 个答案:

没有答案