È buona norma inizializzare la variabile su nil
?È buona norma inizializzare una variabile su zero?
Lo chiedo perché, quando eseguo l'analizzatore sul mio progetto, ricevo un avviso.
NSString *q;
if(sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil) == SQLITE_OK)
{
sqlite3_step(statement);
selectedQuestion =[NSString stringWithFormat: @"%s",(char *)sqlite3_column_text(statement, 0)];
sqlite3_finalize(statement);
}
sqlite3_close(database);
return q; //Undefined or garbage value returned to caller
Quando cambio il codice l'avvertimento è andato:
NSString *q = nil;
Si noti che il compilatore dovrebbe lamentarsi rumorosamente di quel modello. Un'idea migliore è non reinventare la ruota usando direttamente l'API sqlite; ci sono entrambi wrapper di terze parti che ti offrono API di livello superiore che renderanno lo sviluppo più veloce o che potresti utilizzare Core Data, che ti offrirà un'integrazione molto migliore con il sistema nel suo complesso. – bbum
Grazie per il commento bbum. Hai assolutamente ragione. – objlv