次のような辞書に変換するJSON応答があります。
NSError *error;
self.restKitResponseDict = [NSDictionary dictionaryWithDictionary:[NSJSONSerialization JSONObjectWithData:response.body options:0 error:&error]];
次の属性/プロパティを持つコアデータクラスがあります。
name
image_url
上からログを記録すると、次のようにリストされているrestKitResponseDict
ことがわかります。image_url
"image_url"
name = Rock;
"image_url" = "http://f.cl.ly/items/122s3f1M1E1p432B211Q/catstronaut.jpg";
これがKVCがクラッシュする理由です
[CoreDataClass setValuesForKeysWithDictionary:self.restKitResponseDict];
このような:
'[<CoreDataClass 0x14132c> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key image_url.'
引用符は重要ですか?サーバー担当者に、原因となる可能性のあるアンダースコアを削除するように依頼する必要がありますか?
コアデータクラス:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface CoreDataClass : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * image_url;
@end
@implementation CoreDataClass
@dynamic name;
@dynamic image_url;
@end