这是具有多对多关系的数据库设计。这是我的方法
-(void)fetchChannelData:(id)responseObject{
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
NSArray *channels = [responseObject objectForKey:@"channels"] ;
for (NSDictionary *channelStack in channels) {
NSLog(@"Tenant id %@",[[ NSUserDefaults standardUserDefaults ] valueForKey:@"test"]);
ChannelsData *channels = [ChannelsData MR_importFromObject:channelStack inContext:localContext];
[channels setCategory:[[channelStack valueForKey:@"category"] firstObject]];
[channels setTenantID:[[ NSUserDefaults standardUserDefaults ] valueForKey:@"test"]];
NSArray *channelLogo = [channelStack objectForKey:@"channelImages"] ;
for (NSDictionary *channelLogoStack in channelLogo) {
ChannelImages *images = [ChannelImages MR_importFromObject:channelLogoStack inContext:localContext];
[channels addImagesObject:images];
[images setChannelID:channels.channelID];
}
}
} completion:^(BOOL contextDidSave, NSError *error) {
if (contextDidSave) {
[self fetchListing];
}
}];
}
我导入数据的位置。我有下拉列表,我为特定数据选择了不同的API点。所有提取不同的数据。现在的问题是,当我再次启动我的应用程序时,再次调用服务,而不是数据更新,它再次插入它。我已经在每个实体上使用relatedByAttribute让他们的" ID"是主键。] 1] 1