Ich hätte gerne ein Feedback zu einem bestimmten Ansatz, den ich mir vorstellen möchte. Das Szenario ist unten.Case-insensitive KVC in Kakao?
Ich habe ein Objekt (nennen wir es MObject), das eine Reihe von Eigenschaften hat, sagen wir x und y Koordinaten, Höhe und Breite. Die Eigenschaften werden nach den KVC-Richtlinien benannt (MObject.x; MObject.height usw.). Meine nächste Aufgabe ist das Einlesen einer XML-Datei, die dieses MObject beschreibt. Leider sind die XML-Elemente unterschiedlich benannt - X und Y, Höhe und Breite (beachten Sie die Groß-/Kleinschreibung).
Idealerweise stimmen die XML-Elemente mit den Eigenschaften von MObject überein. In diesem Fall könnte ich KVC verwenden und ein ganzes Gleichgewicht gerät Code vermeiden:
for (xmlProperty in xmlElement)
{
[MObject setValue:xmlProperty.value forKey:xmlProperty.name].
}
Eine Möglichkeit, dies zu nähern wäre die Verwendung von Groß- und Kleinschreibung Schlüsseln zu machen. Wo würde ich damit anfangen? Gibt es noch andere, bessere Lösungen?
Vorschläge sehr geschätzt.
Brillant einfache Lösung. Gut gemacht! –
Das würde funktionieren, ich denke, das einzige Problem ist die Namenskonventionen. – EightyEight