Ho un programma in cui è presente un TableViewController con 1 sezione e 3 righe. Ogni volta che eseguo l'app, si blocca sempre al metodo dequeueReusableCellWithIdentifier:
. Ho inserito un punto di interruzione e NSLog()
a zero in questo metodo. Ho anche impostato il Cell Identifier
della cella prototipo nello storyboard su Cell
. Ma il programma si blocca ancora. Ecco un metodo che causa il problema:Il programma si arresta in modo anomalo a dequeueReusableCellWithIdentifier:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"indexPath.section = %d, indexPath.row = %d", indexPath.section, indexPath.row);
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil)
{
NSLog(@"in nil");
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
return cell;
}
Il registro blocchi si legge:
MyAppTake4[7463:707] indexPath.section = 0, indexPath.row = 0
2012-11-05 23:21:20.747 MyCardAppTake4[7463:707] -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:]: unrecognized selector sent to instance 0xfbc9000
2012-11-05 23:21:20.753 MyCardAppTake4[7463:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableView dequeueReusableCellWithIdentifier:forIndexPath:]: unrecognized selector sent to instance 0xfbc9000'
*** First throw call stack:
(0x3254788f 0x3459d259 0x3254aa9b 0x32549915 0x324a4650 0x7e2f7 0x31fceefb 0x31fcdfd9 0x31fcd763 0x31f71f15 0x324a61fb 0x3420aaa5 0x3420a6bd 0x3420e843 0x3420e57f 0x342064b9 0x3251bb1b 0x32519d57 0x3251a0b1 0x3249d4a5 0x3249d36d 0x315f4439 0x31f9ccd5 0x7d9f9 0x7d994)
terminate called throwing an exception(lldb)
Sono interessato a identificare l'esatta causa di errore in modo che non faccio più questo errore.
Grazie per il vostro aiuto.
Il metodo 'UITableView'' dequeueReusableCellWithIdentifier: forIndexPath: 'è stato aggiunto in iOS 6.0. Stai ottenendo questo errore in iOS 5.x? – rmaddy