2 mapmapm MapMapM 于 2013.04.15 11:31 提问

IOS- “This class is not key value coding-compliant”

在ios应用中声明:

@interface UserRegistrationRequest : BaseServiceRequest
@property (nonatomic, retain) NSString *username;
@property (nonatomic, retain) NSString *password;
@property (nonatomic, retain) NSString *secretQuestionID;
@property (nonatomic, retain) NSString *secretQuestionAnswer;
@property (nonatomic, retain) UserProfile *profile;

@end

@interface UserProfile : NSObject
@property (nonatomic, retain) NSString *emailAddress;
@property (nonatomic, retain) NSString *firstName;
@property (nonatomic, retain) NSString *lastName;
@property (nonatomic, retain) NSData *profileImage;
@property (nonatomic, retain) NSNumber *dateOfBirth;
@end

我认为这些类应该是键值编码兼容
运行下面的代码:

NSString *propKey = @"profile.firstName";
NSString *propVal = [self.registrationRequest valueForKey:propKey];

报出异常:

[<UserRegistrationRequest 0xb6187f0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key profile.firstName.

不知道应该怎么解决?

1个回答

redCoral_
redCoral_   2013.04.15 13:38
已采纳

使用这个:

NSString *propVal = [self.registrationRequest valueForKeyPath:propKey];
Csdn user default icon
上传中...
上传图片
插入图片