问题:在滚动表格时再次调用API 我所做的代码:
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
ITableViewCell* cell = ( ITableViewCell* )[self.tblNotes dequeueReusableCellWithIdentifier:@"NoteTableCell"];
cell.tag = indexPath.row;
if(cell.tag == indexPath.row) {
cell = [cell initWithNote:[notesArray objectAtIndex:indexPath.row]];
}
[cell setNeedsLayout];
[cell setNeedsDisplay];
return cell;
}
我不想在滚动时调用initWithNote
。
先谢谢。
答案 0 :(得分:1)
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
ITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"NoteTableCell"];
if (cell == nil) {
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"NoteTableCell" owner:self options:nil];
cell = [topLevelObjects objectAtIndex:0];
}
id object = [notesArray objectAtIndex:indexPath.row];
if ([object isKindOfClass:[NSDictionary class]]) {
NSDictionary *dict = (NSDictionary *)object;
[cell.userNameforNotes setText:[NSString stringWithFormat:@"%@",[[dict valueForKey:@"uploadedBy"] uppercaseString]]];
[cell.noteDescription setText:[NSString stringWithFormat:@"%@",[[dict valueForKey:@"description"] uppercaseString]]];
[cell.dateForNotes setText:[NSString stringWithFormat:@"%@",[[dict valueForKey:@"uploadedDate"] uppercaseString]]];
NSString *urlString = [NSString stringWithFormat:@"%@", [dict valueForKey:@"incidentID"]];
[cell.noteImage sd_setImageWithURL:[NSURL URLWithString:urlString]];
}
return cell;
}
答案 1 :(得分:0)
为此你可以检测tableview是否在这个委托scrollViewWillBeginDragging
的帮助下滚动,如果是,那么你可以保留一些标志或某些东西,告诉你的代码不要调用initWithNote:
。滚动完成后,您可以使用scrollViewDidEndDragging:
进行检查,您可以执行任何操作。由于tableview包含scrollview,因此您可以轻松地从scrollview委托中获取帮助。