¿Es una buena práctica inicializar la variable a nil
?¿Es una buena práctica inicializar una variable a nulo?
Lo pregunto porque cuando ejecuto el analizador en mi proyecto recibo una advertencia.
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
Cuando cambio el código de la advertencia se ha ido:
NSString *q = nil;
Tenga en cuenta que el compilador debe quejarse en voz alta sobre ese patrón. Una mejor idea es no reinventar la rueda mediante el uso de la API sqlite directamente; hay envolturas de terceros que le brindan API de mayor nivel que harán que el desarrollo sea más rápido o podría usar Core Data, que le proporcionará una mejor integración con el sistema en general. – bbum
Gracias por el comentario bbum. Tienes toda la razón. – objlv