Note that there are some explanatory texts on larger screens.

plurals
  1. POuitableview reloaddata cache?
    primarykey
    data
    text
    <p>I'm having some problems with an UITableView and the method reloadData.</p> <p>I'm refreshing the tableView when clicking over a refresh button with the last info in a data base ordered descendingly so the most recent items should appear in first position.</p> <p>Every cell in my tableview is being filled with custom labels and uiimageviews.</p> <p>Well... the thing is that when I press that refresh button and new data is found, the first 5 rows (which are the ones that are being shown in the display) aren't updated but the following rows do. However, if I press over any of the 5 first rows, they call correctly to the tableView:didSelectRowAtIndexPath: method with the new data.</p> <p>So, the problem is that the tableview's "visual" content of the first 5 rows is not being updated.</p> <p>Anyone can help me with this?</p> <p>Thanks!</p> <p>Code:</p> <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSString *CellIdentifier = [ NSString stringWithFormat: @"%d:%d", [ indexPath indexAtPosition: 0 ], [ indexPath indexAtPosition:1 ]]; UITableViewCell *cell = [ tableView dequeueReusableCellWithIdentifier: CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithFrame: CGRectZero reuseIdentifier: CellIdentifier] autorelease]; // Configure the cell... cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator; Activity *activity = [[self.activities valueForKey:[[[self.activities allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)] objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row]; cell.textLabel.text=@""; //Mostramos el nombre UILabel *label= [[UILabel alloc] initWithFrame:CGRectMake(60, -5, 200, 34)]; label.text = [activity name]; label.font = [UIFont boldSystemFontOfSize:17]; label.backgroundColor = [UIColor clearColor]; [cell addSubview:label]; [label release]; //Mostramos la imagen UIImageView *leftImage = [[UIImageView alloc] initWithFrame:CGRectMake(5, 3, 50, 50)]; [cell addSubview:leftImage]; UITextView *textView=[[UITextView alloc] initWithFrame:CGRectMake(60, 25, 200, 38)]; textView.editable = NO; textView.backgroundColor = [UIColor clearColor]; textView.textColor = [UIColor grayColor]; textView.font = [UIFont systemFontOfSize:12.0]; textView.contentInset = UIEdgeInsetsMake(-8,-8,0,0); textView.userInteractionEnabled=NO; [cell addSubview:textView]; switch ([activity notType]) { case 0: textView.text = [NSString stringWithFormat:NSLocalizedString(@"requestPUSH",@""),[activity name]]; leftImage.image = [UIImage imageNamed:@"ios.png"]; break; case 1: textView.text = [NSString stringWithFormat:NSLocalizedString(@"MPCreatedPushString",@""),[activity name],[activity nameItem]]; leftImage.image = [UIImage imageNamed:@"mpNew.png"]; break; case 2: textView.text = [NSString stringWithFormat:NSLocalizedString(@"MPUpdatedPushString",@""),[activity name],[activity nameItem]]; leftImage.image = [UIImage imageNamed:@"mpUpdated.png"]; break; case 3: textView.text = [NSString stringWithFormat:NSLocalizedString(@"MPDeletedPushString",@""),[activity name],[activity nameItem]]; leftImage.image = [UIImage imageNamed:@"ios.png"]; break; case 4: textView.text = [NSString stringWithFormat:NSLocalizedString(@"MPGuestConfirmationPUSHString",@""),[activity name],[activity nameItem]]; leftImage.image = [UIImage imageNamed:@"attend.png"]; break; case 5: if ([[activity message] isEqualToString:@"noData"]) { textView.text = [NSString stringWithFormat:NSLocalizedString(@"ShoutPushString",@""),[activity name]]; }else{ textView.text = [NSString stringWithFormat:NSLocalizedString(@"ShoutPushStringWithData",@""),[activity name], [activity message]]; } UIImage *contactImage = [UIImage imageWithData:[[activity person] pic]]; if (contactImage!=nil) { leftImage.image = contactImage; //redondeamos bordes CALayer * l = [leftImage layer]; [l setMasksToBounds:YES]; [l setCornerRadius:5.0]; }else{ leftImage.image = [UIImage imageNamed:@"ios.png"]; } break; case 6: textView.text = [NSString stringWithFormat:NSLocalizedString(@"CheckinPushString",@""),[activity name],[activity nameItem]]; leftImage.image = [UIImage imageNamed:@"ios.png"]; break; case 7: textView.text = [NSString stringWithFormat:NSLocalizedString(@"MPGuestRejectionPUSHString",@""),[activity name],[activity nameItem]]; leftImage.image = [UIImage imageNamed:@"reject.png"]; break; default: break; } [leftImage release]; [textView release]; //Mostrar fecha double timestamp = [[activity datetime] doubleValue]/1000; NSString *dateShow; NSDate *datetime = [NSDate dateWithTimeIntervalSince1970:timestamp]; NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"HH:mm"]; dateShow=[dateFormat stringFromDate:datetime]; UILabel *label2= [[UILabel alloc] initWithFrame:CGRectMake(240, 0, 70, 20)]; label2.text = dateShow; label2.textAlignment = UITextAlignmentRight; label2.font = [UIFont systemFontOfSize:12]; label2.backgroundColor = [UIColor clearColor]; label2.textColor = [UIColor blueColor]; [cell addSubview:label2]; [label2 release]; } return cell; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload