Unbekannter Selektor an Instanz gesendet [NSCFString-SubarrayWithRange:]

7

Ich habe den folgenden Code, der diesen Fehler erzeugt. Ich kann nicht verstehen, warum die SubarrayWithRange-Nachricht an eine Zeichenfolge gesendet wird? Wenn es eindeutig ein Array ist?

%Vor%

Fehler:

%Vor%

Danke

    
joec 04.10.2010, 19:41
quelle

2 Antworten

29

Diese Art von Fehlern sind normalerweise auf die Speicherverwaltung zurückzuführen. Im Wesentlichen senden Sie eine Nachricht an eine Adresse, die jetzt von einem anderen Objekt belegt wird, da der vorherige Benutzer unerwartet verschwunden ist. Da dieser Adressraum von irgendetwas besetzt sein könnte, fragen Sie zufällig einen NSCFString, auf den er nicht antwortet.

Wenn Sie den Debugger unmittelbar nach dem Erstellen des temp-Arrays anhalten, was sehen Sie als temp? Ich schätze mal, irgendetwas stimmt nicht mit was auch immer - Schlüssel, die Array zurück gibt. Vielleicht möchten Sie überprüfen, wie der Speicher in dem behandelt wird, was zurückgegeben werden soll. Unter dem Namen nehme ich an, dass Ihr App-Delegat ein Array namens "keysArray" als Instanzvariable hat. Vielleicht wird das nicht richtig beibehalten, wenn es erstellt oder zugewiesen wird?

    
Joshua Nozzi 04.10.2010, 19:47
quelle
4

Also ich hatte das hier. Ich habe etwas Dummes gemacht. Ich habe die UITextView einer Zeichenfolge zugewiesen, anstatt der Texteigenschaft. zB:

%Vor%

anstelle von:

%Vor%     
Jeff 02.04.2012 00:43
quelle