Я новичок в Grand Central Dispatch (GCD) и Core Data, и мне нужна ваша помощь для использования Core Data с CGD, чтобы пользовательский интерфейс не блокировался, пока я добавляю 40 000 записей в Core Data.
Я знаю, что CD не является потокобезопасным, поэтому я должен использовать другой контекст, а затем сохранить данные и контексты слияния, насколько я смог понять из некоторых статей.
Что я не могпока не сделаю, это собрать кусочки.
Итак, в моем коде мне нужна ваша помощь, как это сделать.
У меня есть:
/*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 объектов?