Entiendo exactamente por qué ocurren las advertencias de variables no utilizadas. No quiero suprimirlos en general, porque son increíblemente útiles en la mayoría de los casos. Sin embargo, considere el siguiente código (artificial).
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);
Xcode informa que saved
es una variable no utilizada, cuando por supuesto que no lo es. Sospecho que esto se debe a que NSAssert1
es una macro. La NS_BLOCK_ASSERTIONS
macro no está definida, por lo que las afirmaciones de Objective C definitivamente están habilitadas.
Si bien no duele nada, lo encuentro desordenado y molesto, y quiero suprimirlo, pero no estoy seguro de cómo hacerlo. Asignarse la variable a sí misma elimina la advertencia del compilador, pero prefiero hacerlo de la manera "correcta" si existe tal cosa.
'saved' was marked as unused but was used