stringWithFormat: con el tipo de datos desconocido
-
27-09-2019 - |
Pregunta
Estoy haciendo un marco y tengo este código (conditions
es 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];
}
}
Si el value
es un NSString, deben añadirse las cotizaciones, de lo contrario no debe añadirse códigos. Sin embargo, si no un NSString, no sé el tipo de datos de value
, ya que podría ser NSNumber, NSInteger, int, float, double, etc ... No puedo usar %@
o %d
pero estoy seguro de que alguien el SO sabe cómo hacer esto? Gracias.
Solución
echar un vistazo a este .
editar: en su caso es bastante fácil, ya que sólo contienen lata NSDictionary nsobjects. así% @ haría el truco.
Otros consejos
Se pudo comprobar la clase (kindOfClass) y luego utilizar formateador apropiado.
por ejemplo.
if ( [myObj isKindOfClass:[NSString class]] )
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow