Я начинаю с 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 объектов?