stringWithFormat: con sconosciuto tipo di dati
-
27-09-2019 - |
Domanda
Sto facendo un quadro e non ho questo codice (conditions
è un NSDictionary):
for (NSString *key in conditions) {
id value = [[conditions valueForKey:key] retain];
// Check if number or string
if ([value class] == [NSString class]) {
conditionsString = [NSString stringWithFormat:@"%@='%@' ", key, value];
} else {
conditionsString = [NSString stringWithFormat:@"%@=%@ ", key, value];
}
}
Se il value
è un NSString, dovrebbero essere aggiunte citazioni, altrimenti non dovrebbero essere aggiunti i codici. Tuttavia, se non un NSString, non so il tipo di dati value
, come potrebbe essere NSNumber, NSInteger, int, float, double, ecc ... non posso usare %@
o %d
ma sono sicuro che qualcuno su SO sa come fare questo? Grazie.
Soluzione
di dare un'occhiata a questo .
modifica: nel tuo caso è abbastanza facile, dal momento che può contenere solo NSDictionary nsobjects. così% @ farebbe il trucco.
Altri suggerimenti
Si potrebbe verificare la classe (kindOfClass) e quindi utilizzare appropriati formattatore.
per es.
if ( [myObj isKindOfClass:[NSString class]] )
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow