Macos 为什么Restkit返回的托管对象仅具有(CoreData的)属性,而不具有(其他属性的)值?
问题是,在映射中,我有一些属性是持久的,而其他属性则不是。因此,在回调中,对象只有(CoreData的)属性,而没有值(其他属性) 换句话说,尽管我已经检查了“items”属性是否正确映射到Restkit库中的断点,但在主线程中,这些属性最终为nil NSManagedObject子类:Macos 为什么Restkit返回的托管对象仅具有(CoreData的)属性,而不具有(其他属性的)值?,macos,mapping,restkit,nsmanagedobject,Macos,Mapping,Restkit,Nsmanagedobject,问题是,在映射中,我有一些属性是持久的,而其他属性则不是。因此,在回调中,对象只有(CoreData的)属性,而没有值(其他属性) 换句话说,尽管我已经检查了“items”属性是否正确映射到Restkit库中的断点,但在主线程中,这些属性最终为nil NSManagedObject子类: @interface Item : NSManagedObject @property (nonatomic, strong) NSNumber * serverID; // Not persisted in
@interface Item : NSManagedObject
@property (nonatomic, strong) NSNumber * serverID;
// Not persisted in CoreData
@property (nonatomic, strong) NSArray *followers;
@end
@implementation Item
@dynamic serverID;
.....
@synthesize followers;
@end
@interface User : NSObject
@property (nonatomic, strong) NSString *name;
@end
@implementation User
@synthesize name;
@end
NSObject子类:
@interface Item : NSManagedObject
@property (nonatomic, strong) NSNumber * serverID;
// Not persisted in CoreData
@property (nonatomic, strong) NSArray *followers;
@end
@implementation Item
@dynamic serverID;
.....
@synthesize followers;
@end
@interface User : NSObject
@property (nonatomic, strong) NSString *name;
@end
@implementation User
@synthesize name;
@end
映射为:
// Method in Item class
+ (RKEntityMapping *)itemMapping {
static RKEntityMapping *mapping = nil;
if (!mapping) {
mapping = [RKEntityMapping mappingForEntityForName:NSStringFromClass(self.class)
inManagedObjectStore:[RKObjectManager sharedManager].managedObjectStore];
[mapping addAttributeMappingsFromDictionary:@{@"name": @"name"}];
[mapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"followers" toKeyPath:@"followers" withMapping:[User mapping]]];
mapping.identificationAttributes = @[@"serverID"];
}
return mapping.copy;
}
// Method in User class
+ (RKObjectMapping *)userMapping {
RKObjectMapping *mapping = [RKObjectMapping mappingForClass:self.class];
[mapping addAttributeMappingsFromDictionary:@{@"name": @"name"}];
return mapping;
}
您的RestKit映射设置是什么样子的?什么是一系列项目?@EricHedstrom谢谢你的回答。我添加了更多信息和示例代码