Search code examples
iosnsstringnsarraynsdictionarynsexception

"[__NSArrayM objectForKey:]: unrecognized selector" when trying to retrieve a string from Dictionary


I am trying to set text to my labels. Here is the code:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    newsDataCell *cell = (newsDataCell*)[tableView dequeueReusableCellWithIdentifier:@"newsData"];
    
    if (cell == nil)
    {
        cell = [[newsDataCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"newsData"];
    }
    
   NSDictionary* currentrow =[self.Items objectAtIndex:indexPath.item];
     NSLog(@"currentrow:%@",currentrow);
    //UIImageView *image = (UIImageView*)[cell viewWithTag:0];
    
    UILabel *txtData = (UILabel*)[cell viewWithTag:1];
    NSString *testo = [currentrow objectForKey:@"Date"];
    [txtData setText:testo];
    
    
    UILabel *txtTitolo = (UILabel*)[cell viewWithTag:2];
    txtTitolo.text =[currentrow valueForKey:@"Title"];

    UILabel *txtDescrizione = (UILabel*)[cell viewWithTag:3];
    txtDescrizione.text = [currentrow valueForKey:@"Descr"];

    return cell;
}

I checked and currentrow actually contains the object. This is the error I get from Xcode:

2013-09-11 16:04:36.468 ApplicationName[2409:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x7172f80' *** First throw call stack: (0x1333012 0x1158e7e 0x13be4bd 0x1322bbc 0x132294e 0xc5f4 0x1578fb 0x1579cf 0x1401bb 0x150b4b 0xed2dd 0x116c6b0 0x265bfc0 0x265033c 0x2650150 0x25ce0bc 0x25cf227 0x25cf8e2 0x12fbafe 0x12fba3d 0x12d97c2 0x12d8f44 0x12d8e1b 0x22757e3 0x2275668 0x9cffc 0x2c2d 0x2b55) libc++abi.dylib: terminate called throwing an exception

I get the same error using valueForKey:

txtTitolo.text =[currentrow valueForKey:@"Title"];

Here it is:

2013-09-11 16:09:34.478 ApplicationName[2409:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM valueForKey:]: unrecognized selector sent to instance 0x7172f80' *** First throw call stack: (0x1333012 0x1158e7e 0x13be4bd 0x1322bbc 0x132294e 0xc5f4 0x1578fb 0x1579cf 0x1401bb 0x150b4b 0xed2dd 0x116c6b0 0x265bfc0 0x265033c 0x2650150 0x25ce0bc 0x25cf227 0x25cf8e2 0x12fbafe 0x12fba3d 0x12d97c2 0x12d8f44 0x12d8e1b 0x22757e3 0x2275668 0x9cffc 0x2c2d 0x2b55) libc++abi.dylib: terminate called throwing an exception

What is wrong?


Solution

  • I did it! I just used "stringWithFormat" and it worked like this:

    NSString *testo = [NSString stringWithFormat:@"%@",[currentrow objectForKey:@"Date"]];
    

    Thank you anyway for your answers!