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 savedes una variable no utilizada, cuando por supuesto que no lo es. Sospecho que esto se debe a que NSAssert1es una macro. La NS_BLOCK_ASSERTIONSmacro 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