Frage

Ich bin mir ziemlich sicher, dass ich nur den Punkt bin hier fehlt und verwirrt. Kann mir jemand sagen, wie ich eine einfache Beschreibung für ein Objekt schreiben kann, die auf die Konsole den Wert seiner Instanzvariablen werden ausdrucken.

Außerdem: ist es trotzdem die Informationen als Block zu präsentieren (das heißt, wenn Sie hatte 10 Ivars sein Gehen, ein Schmerz zu sein, sie alle immer eins nach dem anderen zurück)

@interface CelestialBody : NSObject {
    NSString *bodyName;
    int bodyMass;
}

- (NSString *)description { 
    return (@"Name: %@ Mass: %d", bodyName, bodyMass);
}

prost -gary -

War es hilfreich?

Lösung

- (NSString*)description
{
  return [NSString stringWithFormat:@"Name: %@\nMass: %d\nFoo: %@",
     bodyName, bodyMass, foo];
}

Andere Tipps

Das ist keine schlechte Idee, was Sie dort hatten, ist es zu fast erreichbar.

// choose a short name for the macro
#define _f(x,...) [NSString stringWithFormat:x,__VA_ARGS__]

...

- (NSString *) description
{
    return _f(@"Name: %@ Mass: %d", bodyName, bodyMass);
}
scroll top