2 Stimmen

Objective C: Behebung des Fehlers "Unerkannter Selektor an Instanz gesendet".

Ich versuche, mit folgendem Code auf eine Eigenschaft eines Instanzobjekts zuzugreifen

for (User *user in likersArray) 
{
    //Set variables for dictionary
    NSString *nameLength = [NSString stringWithFormat:@"%i",[user.nickname length]];
}

Ich erhalte jedoch immer wieder die folgende Fehlermeldung:

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

Meine Benutzerklasse ist wie folgt definiert

@interface User : NSObject <NSCoding>
{
NSString *uid;
NSString *name;
NSString *nickname;
}

@property (nonatomic, copy) NSString *uid;
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *nickname;

@end

13voto

Dave DeLong Punkte 240835

Dieser Fehler bedeutet, dass nicht alles in Ihrem likersArray es un User Objekt. Zumindest eine Sache darin ist ein NSString .

5voto

Warren Burton Punkte 17102

Es könnte auch bedeuten, dass einer der User Objekte in likersArray zu viel veröffentlicht wird und Sie auf Müll stoßen.

0voto

M3nd3z Punkte 307

Ich hatte ein sehr ähnliches Problem, das dadurch verursacht wurde, dass nur ein Element erstellt und in das Array eingefügt wurde. Wenn Ihre likersArray enthält nur 1 Element es verursacht diesen Fehler als gut und es ist ein böser Fehler zu finden. Hoffentlich hilft das jemandem!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X