Frage

Ich bilde einen Rahmen, und ich habe diesen Code (conditions ist ein 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];
    }
  }

Wenn die value ein NSString ist, Zitate hinzugefügt werden soll, andernfalls sollten Codes nicht hinzugefügt werden. Wenn jedoch kein NSString, ich habe nicht den Datentyp value wissen, wie es NSNumber, NSInteger sein könnte, int, float, double, etc ... Ich kann nicht nur %@ oder %d verwenden, aber ich bin sicher, dass jemand auf SO weiß, wie dies zu tun? Danke.

War es hilfreich?

Lösung

hat einen Blick auf dieser .

edit: in Ihrem Fall ist es ziemlich einfach, da NSDictionary kann nur nsobjects enthalten. so% @ würde den Trick tun.

Andere Tipps

Sie können die Klasse überprüfen (kindOfClass) und dann mit geeigneten Formatierer.

z.

if ( [myObj isKindOfClass:[NSString class]] )
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top