Я разрабатываю приложение, которое загружает количество фотографий и XML-файл за одну попытку. У меня есть две основные таблицы данных с отношением один-много (вакансии и фотографии). Одна работа может содержать количество фотографий. После того, как все фотографии загружены, мне нужно загрузить XML-файл, который содержит детали фотографий. Мне нужно следить за тем, какая фотография была успешно загружена, и обновлять поле статуса таблицы заданий, а также статус фотографии. Следующий код иллюстрирует это.
Это работает некоторое время. Некоторое время это не обновляет таблицу заданий. Я ценю, что любой может дать мне знать, что не так со следующим кодом.
NSMutableArray *photosForJob=[[NSMutableArray alloc] initWithArray:[fetchedJob.photos allObjects]];
self.manageObjectForJobs = fetchedJob;
__block int count = 0;
dispatch_group_async(group, queue, ^{
for (int i = 0; i < [photosForJob count]; i++)
{
Photos *ph = [photosForJob objectAtIndex:i];
if ([ph.status compare:[NSNumber numberWithBool:NO]] == NSOrderedSame)
{
NSMutableArray *responseArray = [self filePosting:ph.photoName];
self.manageObjectForPhotos = ph;
if ([[responseArray objectAtIndex:0] isEqual:@"200"] && [[responseArray objectAtIndex:1] isEqualToString:ph.photoName])
{
[self.manageObjectForPhotos setValue:[NSNumber numberWithBool:YES] forKey:@"status"];
count++;
}
}
else{
count++;
}
}
if (count == [photosForJob count])
{
if ([status compare:[NSNumber numberWithBool:NO]] == NSOrderedSame)
{
NSMutableArray *responseArray = [self filePosting:xmlFile];
if ([[responseArray objectAtIndex:0] isEqual:@"200"] && [[responseArray objectAtIndex:1] isEqualToString:xmlFile]){
[self.manageObjectForJobs setValue:[NSNumber numberWithBool:YES] forKey:@"status"];
}
}
}
NSError *error;
if (![self.managedObjectContext save:&error]) {
NSLog(@"Job status did updat.... : %@", [error description]);
}
else{
[UIApplication sharedApplication].applicationIconBadgeNumber = [self fetchJobsForBadge];
[photosForJob removeAllObjects];
count = 0;
}
});
Большое спасибо