Capisco esattamente perché si verificano avvisi di variabili non utilizzate. Non voglio sopprimerli in generale, perché sono incredibilmente utili nella maggior parte dei casi. Tuttavia, considera il seguente codice (artificioso).
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);
Xcode segnala che saved
è una variabile inutilizzata, quando ovviamente non lo è. Ho il sospetto che sia perché NSAssert1
è una macro. La NS_BLOCK_ASSERTIONS
macro non è definita, quindi le asserzioni Objective C sono definitivamente abilitate.
Anche se non fa male a nulla, lo trovo disordinato e fastidioso, e voglio sopprimerlo, ma non sono sicuro di come farlo. Assegnare la variabile a se stessa elimina l'avvertimento del compilatore, ma preferisco farlo nel modo "giusto" se esiste una cosa del genere.
'saved' was marked as unused but was used