Pregunta

Estoy usando el siguiente código para detectar un error cuando ind.row no es un valor válido o a veces se vuelve nulo

@try {
        if(ind.row<[[treeNode flattenElements] count])
        {
            [self.mTableView scrollToRowAtIndexPath:ind atScrollPosition:UITableViewScrollPositionTop animated:YES];
        }


    }
    @catch (NSException *e) {
        NSLog(@"%@",e);

    }   

pero cuando este código se ejecuta a veces este error está ocurriendo

Assertion failure in -[NSIndexPath row], /SourceCache/UIKit_Sim/UIKit-1262.60.3/UITableViewSupport.m:1948`

¿Cuál puede ser la razón de este error y por qué no se está manejando la excepción?

¿Fue útil?

Solución 3

En realidad, ya estaba atrapando las excepciones ... Había establecido la parada de la bandera en las excepciones OBJC. Cuando eliminé que atrapaba las excepciones ... como lo señaló @StilesCRICISIS, el valor de IND era nulo en el momento de esta excepción. .

Otros consejos

Las afirmaciones en iOS no arrojan excepciones, por lo que no puedes atraparlas.

Necesitará averiguar qué le pasa a su llamada a -row. Mi primera suposición sería que "Ind" ya está liberado o algo así.

Tendrá que verificar el índice, generar y plantear una excepción por su propia:Referencia de clase NSEXCeption

+ (void)raise:(NSString *)name format:(NSString *)format, ...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top