1

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.

なぜこれが起こっているのか、またはこれをトラブルシューティングする際に何を探す必要があるのでしょうか?

4

1 に答える 1

3

使用する :

NSString *propVal = [self.registrationRequest valueForKeyPath:propKey];
于 2013-04-12T17:52:08.203 に答える