UILabels NOT Updating

Posted by Chris Calleja Urry on Stack Overflow See other posts from Stack Overflow or by Chris Calleja Urry
Published on 2012-06-23T14:53:38Z Indexed on 2012/06/23 15:16 UTC
Read the original article Hit count: 244

i have a UITableView that is being populated by core data , now , when i click on a cell , it pushes me to another view where i can edit the data that is in that particular index , when i return , the system either crashes or else doesnt load the changes onto the labels , any ideas ? code below

-(void)viewWillAppear:(BOOL)animated {    
searchCriteria = [[NSMutableString alloc] initWithString:@"clientName"];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"clientName" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Client" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];    
fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];

[self.clientTableView reloadData];
[super viewWillAppear:animated];    
}

and

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

}

Client * client = [self.fetchedResultsController objectAtIndexPath:indexPath];
clientNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, 250.00, 30.0)];
clientNameLabel.tag = 1;
clientNameLabel.backgroundColor = [UIColor clearColor];
clientNameLabel.textColor = [UIColor whiteColor];
clientNameLabel.font =  [UIFont boldSystemFontOfSize:13];
clientNameLabel.text = client.clientName;
[cell.contentView addSubview:clientNameLabel];

clientAccountNumberLabel = [[UILabel alloc] initWithFrame:CGRectMake(15.0, 35.0, 250.00, 30.00)];
clientAccountNumberLabel.tag = 2;
clientAccountNumberLabel.textColor = [UIColor whiteColor];
clientAccountNumberLabel.backgroundColor = [UIColor clearColor];
clientAccountNumberLabel.font =  [UIFont boldSystemFontOfSize:13];
clientAccountNumberLabel.text = client.clientAccountNumber;
[cell.contentView addSubview:clientAccountNumberLabel];

clientTelephoneNumberLabel = [[UILabel alloc] initWithFrame:CGRectMake(300.0, 0.0, 250, 30.00)];
clientTelephoneNumberLabel.tag = 3;
clientTelephoneNumberLabel.textColor = [UIColor whiteColor];
clientTelephoneNumberLabel.backgroundColor = [UIColor clearColor];
clientTelephoneNumberLabel.font =  [UIFont boldSystemFontOfSize:13];
[cell.contentView addSubview:clientTelephoneNumberLabel];

addressLine1Label = [[UILabel alloc] initWithFrame:CGRectMake(315.0, 35.0, 250, 30.00)];
addressLine1Label.tag = 4;
addressLine1Label.textColor = [UIColor whiteColor];
addressLine1Label.backgroundColor = [UIColor clearColor];
addressLine1Label.font =  [UIFont boldSystemFontOfSize:13];
addressLine1Label.text = client.addressLine1;
[cell.contentView addSubview:addressLine1Label];

addressLine2Label = [[UILabel alloc] initWithFrame:CGRectMake(315.0, 35.0, 250, 30.00)];
addressLine2Label.tag = 5;
addressLine2Label.textColor = [UIColor whiteColor];
addressLine2Label.backgroundColor = [UIColor clearColor];
addressLine2Label.text = client.addressLine2;
addressLine2Label.font =  [UIFont boldSystemFontOfSize:13];
[cell.contentView addSubview:addressLine2Label];


addressLine3Label = [[UILabel alloc] initWithFrame:CGRectMake(315.0, 35.0, 250, 30.00)];
addressLine3Label.tag = 6;
addressLine3Label.textColor = [UIColor whiteColor];
addressLine3Label.backgroundColor = [UIColor clearColor];
addressLine3Label.font =  [UIFont boldSystemFontOfSize:13];
addressLine3Label.text = client.addressLine3;
[cell.contentView addSubview:addressLine3Label];

addressLine4Label = [[UILabel alloc] initWithFrame:CGRectMake(315.0, 35.0, 250, 30.00)];
addressLine4Label.tag = 7;
addressLine4Label.textColor = [UIColor whiteColor];
addressLine4Label.backgroundColor = [UIColor clearColor];
addressLine4Label.font =  [UIFont boldSystemFontOfSize:13];
addressLine4Label.text = client.addressLine4;
[cell.contentView addSubview:addressLine4Label];

return cell;

}

The Crash Logs are as follows :

2012-06-23 17:08:05.541 iSalesForce[11773:15803] no object at index 1 in section at index 0

And some other code you might find useful are :

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

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


 - (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
   {
    return 70.0;
   }

© Stack Overflow or respective owner

Related posts about uitableview

Related posts about core-data