2016-06-10 3 views
0
gesendet

Ich erhalte immer einen nicht erkannten Selektor, wenn ich ein Objekt zu meinem veränderbaren Array hinzufügen möchte. Ich versuche, Elemente zu einem veränderbaren Array hinzuzufügen und zu entfernen in meinem Tableview ausgewählt ist, hier ist mein Code:'- [__ NSArrayM _fastCStringContents:]: nicht erkannter Selektor an Instanz

@interface SomeViewController 
    @property (nonatomic, strong) NSMutableArray *selectedItems; 
@end 

Ansicht tat Last:

-(void)viewDidLoad { 

    [super viewDidLoad]; 

    self.selectedItems = [[NSMutableArray alloc] init]; 
} 

Auswahl Zelle:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    MyCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; 

    [self.selectedItems addObject:[NSString stringWithFormat:@"%@", cell.contactID]]; 

Kontakt Id-Attribut auf MyCell Datei ist:

@property (strong, nonatomic) NSString *contactID; 

Ich erhalte immer diese Fehlermeldung:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM _fastCStringContents:]: unrecognized selector sent to instance 0x7fc3dd1091b0' 
+0

Warum verwenden Sie '[self.selectedItems addObject: [NSString stringWithFormat: @"% @ ", cell.contactID]]'; anstelle von '[self.selectedItems addObject: cell.contactID];' Versuchen Sie, es zu ändern – iSashok

+0

Ich schaute auf einige Fragen hier und sah, dass es helfen könnte. Also habe ich es ausprobiert. Ich habe beide Varianten ausprobiert, die Sie vorgeschlagen haben, und beide geben genau den gleichen Fehler zurück, den ich bekomme. – jckly

+0

'contactID' ist nicht immer eine Zeichenfolge in Ihrem Fall. Versuchen Sie, Ihre Zellendaten zu debuggen. füge einen 'Ausnahme-Breakpoint' hinzu. –

Antwort

1

Irgendwo Sie haben ein Objekt, das Sie glauben, dass ein String ist, wenn sie in Wirklichkeit ist es ein veränderliches Array - Das sagt die Fehlermeldung. Legen Sie einen Haltepunkt für Ausnahmen fest, der Ihnen genau sagen soll, wo es passiert, und suchen Sie dann das Array, von dem Sie glauben, dass es sich um eine Zeichenfolge handelt.

+0

hast du Sekunden gewonnen :) –

0

Versuchen Sie, es in normalen UITableView zu implementieren. Wenn Sie kein Problem bekommen, dann ist das Problem bei Ihrem MyCell. Überprüfen Sie mit veränderbaren oder kopieren Array auch. Versuchen Sie NSLog den cell.contactID

Verwandte Themen