0
@interface Account : NSManagedObject
@property (strong, nonatomic) NSData *encryptedPassword;

我确实为该属性使用了@dynamic

@dynamic encryptedPassword;

在我确实将模型的类设置为 Account

但是当我尝试使用点符号访问 encryptedPassword 时,它会引发该异常,例如:

account.encryptedPassword

虽然使用 KVC 完全没问题:

[account primitiveValueForKey:@"encryptedPassword"]

你能告诉我如何解决这个问题吗?


对于以下代码

@try {
    NSLog(@"Primitive Value: %@", [account primitiveValueForKey:@"encryptedPassword"]);
    NSLog(@"Value For Key: %@", [account valueForKey:@"encryptedPassword"]);
    NSLog(@"Dot Notation: %@", account.encryptedPassword);
}
@catch (NSException *exception) {
    NSLog(@"Found: %@", exception.reason);
}

我有

原始值:<0f43f1e0 c4c4e0ab 97c524f4 b8483430>

发现:[valueForUndefinedKey:]:实体帐户不符合密钥“encryptedPassword”的密钥值编码。

4

1 回答 1

1

如果类创建正确,它应该可以工作。模型和类之间存在一些不匹配。这通常是在属性(属性)的命名中。使用 Xcode 从模型中重新生成类并进行比较以找出差异。

于 2013-07-28T23:46:13.993 回答