0

以下は、クラスに使用しているコードです。

@interface DBUser : NSManagedObject
@property (nonatomic, retain) NSString * username;
@property (nonatomic, retain) NSString * email;
@property (nonatomic, retain) NSString * accessToken;
@property (nonatomic, retain) NSNumber * userID;
@end


@implementation DBUser
@dynamic username;
@dynamic email;
@dynamic userID;
@dynamic accessToken;
@end

ここに私のマッピングがあります:

RKManagedObjectMapping* userMapping = [RKObjectMapping mappingForClass:[DBUser class]];
userMapping.setDefaultValueForMissingAttributes = NO;
[userMapping mapKeyPathsToAttributes:
 @"id", @"userID",
 @"email", @"email",
 @"username", @"username",
 @"access_token", @"accessToken",
 nil];

 [objectManager.mappingProvider registerMapping:userMapping withRootKeyPath:@"user"];

そしてルート:

[objectManager.mappingProvider registerMapping:userMapping withRootKeyPath:@"user"];

サービスから返される json オブジェクトは次のとおりです。

{
"user": {
"id": 1,
"username": "username",
"email": "email@email.com",
"access_token": "59f99efcffa9af7252d5ce1839082bd7e740e289e2577dda592c68647dc4e0db"
}
}

しかし、objectDidLoad方法で私はいくつかのデータ障害を抱えています:

<DBUser: 0x5939cc0> (entity: DBUser; id: 0x4f432e0 <x-coredata://6F302428-0538-41D0-9627-81C80E905DA8/DBUser/p11> ; data: <fault>)

ここに、トレースの完全なログを添付します。オブジェクトマップをうまく検出しますが、取得selfしてもデータが表示されません。

http://goo.gl/OcouL

このコードの何が問題なのか、または何が欠けているのでしょうか?

4

1 に答える 1

1

データ障害ではありません。オブジェクトは FAULT として返されます。データ障害という意味ではありません。returnsObjectsAsFaults プロパティを NO に設定してみてください。

于 2013-04-04T11:49:43.513 に答える