目标C:如何解决'无法识别的选择器发送到实例'错误

Zhe*_*hen 2 objective-c ios unrecognized-selector

我试图使用以下代码访问实例对象的属性

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

但是,我不断收到以下错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString nickname]: unrecognized selector sent to instance 0x8c0f780'
Run Code Online (Sandbox Code Playgroud)

我的用户类定义如下

@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
Run Code Online (Sandbox Code Playgroud)

Dav*_*ong 13

这个错误意味着你的所有东西都不likersArray是一个User对象.至少有一件事是NSString.


War*_*ton 5

这也可能意味着其中一个User对象likersArray被过度释放而你正在遭遇垃圾.