Mal wieder ein Fehler, der einen zur Verzweiflung bringen kann:
-[__NSArrayI isEqualToString:]: unrecognized selector sent to instance
*** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[__NSArrayI isEqualToString:]: unrecognized selector sent to instance
Die Lösung des Problems ist erdenklich einfach:
Da es sich hierbei (in meinem aktuellen Projekt) um ein Problem beim erstellen der Tabellenzeile einer TableView handelt, zeige ich den Ausschnitt cellForRowAtIndexPath.
Der Fehlerverursachende Code sieht wie folgt aus:
NSArray *curArray = [NSArray arrayWithObject: [self.results objectAtIndex:indexPath.row]]; cell.text = [curArray valueForKey:@"name"]; [curArray release];
Beheben kann man das Problem so:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
id curObj = [self.results objectAtIndex:indexPath.row];
cell.textLabel.text = [curObj valueForKey:@"name"];
return cell;
}
Der Fehler ist hier in den vorletzten Zwei zeilen behoben.