如何解决即使我正在更新托管对象,Coredata也不会更新
如您所见,“ ZMESSAGEID”字段包含值“ CLUBID_7y919898983003160187157002002eeee1qzg6eeieguz47tqvm67rs377jjb_gft.jpg”应具有1条记录,而不是3条记录。当我尝试使用托管对象进行更新并保存上下文后,出现以下附件图像在coredata中。
当没有相关消息的数据(CLUBID_7y919898983003160160187157002809ee1qzg6eeieguz47tqvm67rs377jjb_gft.jpg)出现时,它是使用以下代码插入的:
`
[self scheduleBlock:^{
archivedMessage = (XMPPMessageArchiving_Message_CoreDataObject *)
[[NSManagedObject alloc] initWithEntity:[self messageEntity:moc]
insertIntoManagedObjectContext:nil];
[moc insertObject:archivedMessage];
}];
`
上传图片后,我尝试使用以下代码段将“ ZFILEUPLOADED”字段设置为0:
NSManagedObjectContext *context = [HQXMPPManager shareXMPPManager].msgStorage.mainThreadManagedObjectContext;
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"XMPPMessageArchiving_Message_CoreDataObject"];
NSError *error = nil;
NSPredicate *pre = [NSPredicate predicateWithFormat:@"messageId = %@",messageId];
NSLog(@"QUERY For messageId: %@ %@",pre,messageId);
request.predicate = pre;
NSArray *aryResults = [context executeFetchRequest:request error:&error];
for (XMPPMessageArchiving_Message_CoreDataObject *msg in aryResults)
{
[msg setValue:@"0" forKey:@"fileUploaded"];
NSError *err = nil;
[context save:&err];
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。