Ich bin ein totaler Noob iPhone-Programmierung, und ich habe in eine Ausnahme geworfen geworfen, dass ich kann einfach nicht meinen Kopf wickeln.NSMutableDictionary löst einen doesNotRecognizeSelector auf objectForKey aus?
Hintergrund: Der Fehler tritt in einer benutzerdefinierten Unteransicht auf und tritt sofort beim Laden des Programms auf. Ich erhalte eine Ausnahme in der überschriebenen drawRect-Methode. Der Code, der den Fehler werfen folgt:
- (void)drawRect:(CGRect)rect{
NSNumber *points = [NSNumber numberWithInt: star.numberOfPoints];
//HERE. Doesn't recognize selector?!
CGPathRef t = (CGPathRef)[starPaths objectForKey:points];
/*snip*/
starPaths in awakeFromNib als NSMutableDictionary mit einer Kapazität initialisiert 1.
Die Ausnahme, die ausgelöst wird immer ist - [NSObject doesNotRecognizeSelector:]
starPaths erklärt in die Header-Datei für die Ansicht als
NSMutableDictionary *starPaths;
und wird als
initialisiertSchließlich war ich nicht in der Lage, zu einem Punkt im Code zu gelangen, wo ich erfolgreich Elemente zum Wörterbuch hinzufügen, da der Code zum Hinzufügen eines Eintrags auf das Empfangen einer Nullantwort aus dem Wörterbuch angewiesen ist Der spezifische Eintrag muss erstellt werden.
Irgendwelche Vorschläge? Irgendwelche anderen Informationen, die ich zur Verfügung stellen sollte? Jegliche Hilfe wäre willkommen, ich fühle mich, als würde ich etwas Offensichtliches vermissen, aber ich habe mir den ganzen Tag den Kopf dafür geschlagen, ohne Glück.
Könnten Sie den relevanten Teil von watchFromNib veröffentlichen, in dem starPaths initialisiert wird? – marcc
Auch die Instanzvariablendeklaration für starPaths. Gibt es Orte, an denen Sie erfolgreich Schlüssel-Wert-Paare zum Wörterbuch mit -setObject hinzufügen: forKey: usw.? –