ios 5 celdas prototipo y problema de VoiceOver

Tengo un problema al intentar cargar una celda de prototipo cuando la function de voz está activada. La aplicación se bloquea y recibo los errores

Assertion failure in -[UITableView _createPrepanetworkingCellForGlobalRow:withIndexPath:] Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:' 

Esto solo sucede cuando VoiceOver está activado, de lo contrario, la aplicación funciona bien. ¿Alguna ayuda?

No estoy seguro si acerté por casualidad, pero esto funcionó para mí. En UITableViewDataSource :

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { [...] UITableViewCell *standardCell; if (UIAccessibilityIsVoiceOverRunning()) { standardCell = [tableView dequeueReusableCellWithIdentifier:@"VO Cell"]; } else { standardCell = [tableView dequeueReusableCellWithIdentifier:@"Regular Cell"]; } //Configure the cell [...] return standardCell; } 

Creo que es el caso que iOS almacena en caching las celdas sin las properties de accesibilidad si VoiceOver está desactivado por razones de performance. Por lo tanto, el identificador pnetworkingeterminado que utiliza puede estar relacionado con una celda almacenada en caching que no tiene estas properties. Cuando VoiceOver está activado y iOS intenta eliminar las celdas, no encuentra las properties allí y se rompe. Al tener diferentes identificadores, obliga a iOS a almacenar en caching nuevas celdas cuando VO está activado.

Una vez más, esto es solo una suposition que estoy haciendo , pero el caso es que no recibo este problema cuando dequeue Cells de esta manera. Sin embargo, si los elimina de la manera que mencioné, debería tener cuidado con un error que pueda aparecer:

Si está eliminando celdas cuyos identificadores están configurados en un file .xib o en un Storyboard, como en la image a continuación, deberá configurar otra celda de prototipo con el identificador de reutilización de VO. Identificador de reutilización establecido en Interface Builder