2012-04-04 3 views
8

ho aperto un po 'di vecchio codice iOS e quando provo a costruirlo ottengo un errore "parametro non utilizzato" per il codice come questo:vecchio codice dà "il parametro non utilizzato" errore, ma mai prima d'ora

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { 
    NSLog(@"Search Bar isn't used in this function"); 
} 

Questa è la prima volta che vedo un compilatore Objective-C sputare errori (non avvisi) per questo. Dal momento che molte chiamate iOS non utilizzano necessariamente gli argomenti che passano (ad esempio molti richiami), ho bisogno di aiuto per sbarazzarmi di questo.

risposta

13

Soluzione # 1)

In del vostro progetto Xcode "Build Settings", c'è un parametro per "Parametri non utilizzate".

Ripristinare quello da YES a NO. Unused Parameters Warnings

Soluzione # 2 (disponibile con Xcode 4):

In Xcode 4.3.2 o superiore utilizzo __unused.

(THANKS to Tim Bodeit's comment below)

Soluzione # 3)

Metti #pragma unused (searchBar) nel codice, preferibilmente proprio sotto la linea nell'implementazione in cui viene dichiarata la funzione.

I.E.

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { 
    #pragma unused (searchBar) 
    NSLog(@"Search Bar isn't used in this function"); 
} 
+0

Ciao Michael, l'impostazione XCode per l'avvertimento parametro non utilizzato legge gia 'NO'. Spero davvero di non dover iniettare codice ovunque. C'è qualche altra impostazione del compilatore (o altro) che posso esaminare? – sparkFinder

+0

l'impostazione ha letto "NO" nella colonna Risolto per il tuo *** bersaglio *** (non solo il progetto)? Inoltre, hai "trattare gli avvisi come errori" impostati su Sì nelle impostazioni del progetto o della destinazione? –

+0

È elencato come "NO" in ogni colonna sia per il progetto che per la destinazione. Trattare gli avvertimenti poiché gli errori sono impostati su "NO" in entrambi i casi. – sparkFinder