2017-06-14 1 views
0

Alors que je suis en train de lire comment utiliser SQLite dans iOS, je suis arrivé à la ligne suivanteQuand utiliser NSString stringWithFormat;

NSString *query = [NSString stringWithFormat:@"SELECT * FROM 
tableName"]; 

Je googlé quelques tutoriels et documentations pour savoir pourquoi la méthode suivante ont été utilisés à la place d'un objet régulier de NSString:

stringWithFormat 

Pourquoi nous ne pouvions pas utiliser quelque chose comme ce qui suit car il n'y a pas besoin de spécifier et format spécial tel que% @% ou d ?:

NSString *query = @"SELECT * FROM tableName"; 
+1

Vous pouvez l'utiliser directement (NSString * query = @ "SELECT * FROM tableName";) fourni s'il y a non% @ /% d ou tout caractère%. –

+1

Si vous n'obtiendrez pas de valeurs à partir de variables, '@" SELECT * FROM tableName "' cela devrait être bon. Si vous allez remplacer le nom de la table lors de l'exécution, vous utiliserez 'stringWithFormat' –

+0

Lorsque jamais des valeurs du serveur puis une valeur veulent une conversation en chaîne, alors la méthode stringWithFormat est utilisée. –

Répondre

2

Si vous n'obtiendrez pas de valeurs de variables, @"SELECT * FROM tableName" cela devrait aller.

Si vous allez remplacer le nom de la table lors de l'exécution, vous pouvez utiliser stringWithFormat

NSString *query = [NSString stringWithFormat:@"SELECT * FROM %@", myTableName];