Я новичок в Grand Central Dispatch (GCD) и Core Data, и мне нужна ваша помощь, чтобы использовать Core Data с CGD, чтобы пользовательский интерфейс не был заблокирован, пока я добавляю 40 000 записей в Core Data.
Я знаю, что компакт-диск не является потокобезопасным, поэтому мне приходится использовать другой контекст, а затем сохранять данные и объединять контексты, насколько я смог понять из некоторых статей.
Чего я еще не мог сделать, так это сложить по кусочкам.
Итак, в моем коде мне нужна ваша помощь, как это сделать.
У меня есть:
/*some other code*/
for (NSDictionary *memberData in arrayWithResult) {
//get the Activities for this member
NSArray *arrayWithMemberActivities = [activitiesDict objectForKey:[memberData objectForKey:@"MemberID"]];
//create the Member, with the NSSet of Activities
[Members createMemberWithDataFromServer:memberData
andActivitiesArray:arrayWithMemberActivities
andStaffArray:nil
andContactsArray:nil
inManagedObjectContext:self.managedObjectContext];
}
Как я могу преобразовать это для работы в фоновом режиме, а затем, по завершении сохранения, сохранить данные и обновить пользовательский интерфейс, не блокируя пользовательский интерфейс при сохранении 40 000 объектов?