Objetivo C: Cómo resolver el error de 'selector no reconocido enviado a instancia'

Estoy intentando acceder a una propiedad del object de instancia utilizando el siguiente código

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

Sin embargo, sigo recibiendo el siguiente error:

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

Mi class de usuario se define como a continuación.

 @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 

Ese error significa que no todo en su likersArray es un object de User . Al less una cosa hay un NSString .

También podría significar que uno de los objects User en likersArray está likersArray excesiva y está golpeando basura.

Tuve un problema muy similar que se estaba causando debido a que solo se creó un elemento y se insertó en la matriz. Si su likersArray contiene solo 1 elemento, también causa este error y es un error desagradable para encontrar. ¡Esperemos que esto ayude a alguien!