Vielleicht einfacher ist nicht das richtige Wort; knapp könnte es auch tun. Ich bin mir bewusst, dass Objective-C eine ausführliche Sprache ist; Ich frage mich nur, ob es so ausführlich sein muss wie in der Lösung, die ich unten zeige. Ich bin relativ neu in der Sprache.Suchen Sie nach einer einfacheren Objective-C-Lösung
Dieser Codeabschnitt zählt die Nummer jedes Feldtyps in einem Datensatz gemäß der Generierung einer UITableViewCell mit variabler Höhe, die ein Label pro Feld enthält. Meine Frage ist nicht, wie man das macht - ich habe das schon herausgefunden - ich frage mich nur: gibt es nicht einen einfacheren oder weniger verbindlichen Weg, dies in Objective-C zu tun, mit einem NSDictionary-Objekt? Ist das so kurz, wie es mit einem NSDictionary funktioniert? Lösungen, die andere Objekttypen verwenden, sind ebenfalls willkommen.
Hier ist mein -PartsRecord.countFields-Methode. Ich habe den Code etwas vereinfacht.
-(NSDictionary*) countFields {
NSDictionary* dict = [[NSDictionary alloc] initWithObjectAndKeys:
@"s", [NSNumber numberWithUnsignedInt: [self.struts count]],
@"h", [NSNumber numberWithUnsignedInt: [self.headAssemblies count]],
@"l", (self.leftVent == nil) ? [NSNumber numberWithUnsignedInt: 0] :
[NSNumber numberWithUnsignedInt: 1],
@"r", (self.rightVent == nil) ? [NSNumber numberWithUnsignedInt: 0] :
[NSNumber numberWithUnsignedInt: 1],
nil ];
return dict;
}
Alle Fehler in dem obigen Code sind Fehler in der Transkription, keine echten Fehler im Code.
TIA,
Howard
Viel sauberer! Vielen Dank. Nur um zu beweisen, dass es trotz drei oder fünf Jahren in der C/C++ - Welt immer eine bessere stilistische Variation gibt, als man es gewohnt ist. – hkatz
Netter Tipp und Punkte für Stil. (Ich liebe den ternären Operator.) Vergessen Sie nicht, das Speicherleck zu beheben - das ist bei weitem wichtiger als Stil. ;-) –