Frage

ich den folgenden Code haben, der diesen Fehler produziert. Ich kann nicht verstehen, warum die subarrayWithRange Nachricht an eine Zeichenfolge gesendet wird? Wenn es ist eindeutig ein Array?

static const int kItemsPerView = 20;
NSRange rangeForView = NSMakeRange( page * kItemsPerView, kItemsPerView );

NSMutableArray *temp = [[APP_DELEGATE keysArray] mutableCopyWithZone:NULL]; 
NSArray *itemsForView = [temp subarrayWithRange:rangeForView];

for (int loopCounter = 0;loopCounter < r*c;loopCounter++){
    NSLog(@"%i: %@ ", loopCounter, [itemsForView objectAtIndex:loopCounter]);
}

Fehler:

-[NSCFString subarrayWithRange:]: unrecognized selector sent to instance 0x6b071a0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: [NSCFString subarrayWithRange:]:

Danke

War es hilfreich?

Lösung

Diese Arten von Fehlern in der Regel Speicher-Management-bezogenen. Im Wesentlichen sind Sie eine Nachricht an eine Adresse senden, die jetzt von einem anderen Objekt besetzt ist, weil der Vormieter unerwartet verschwunden ist. Da dieser Adressraum durch nichts belegt werden kann, passieren Sie gerade einen NSCFString etwas zu dem zu fragen, es antwortet nicht.

Wenn Sie den Debugger direkt pausieren, nachdem Sie das temporäre Array zu erstellen, was sehen Sie auf Temp zugewiesen? Ich vermute, etwas ist nicht ganz richtig mit dem, was -keysArray zurückkehrt. Vielleicht möchten Sie Prüfung verdoppeln, wie der Speicher in welcher behandelt wird, dass zurück angenommen hat. Mit Namen, nehme ich an AppDelegate ein Array namens „keysArray“ als Instanzvariable. Vielleicht ist das nicht richtig gehalten wird, wenn es erstellt wird oder zugewiesen?

Andere Tipps

hatte also ich diese. Ich habe etwas dumm. I zugewiesen, um die UITextView in einen String, anstatt sie die Eigenschaft text. dh:

myObj.txtbxThing = [NSString stringWithFormat:@"%@", stuffString];

statt:

myObj.txtbxThing.text = [NSString stringWithFormat:@"%@", stuffString];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top