Как вы можете использовать Core Data и GCD, когда методы, вызываемые в фоновом потоке, нуждаются в множестве разных NSManagedObject
? Вы, как вызывающий, возможно, не знаете, какие объекты будут необходимы в подзаголовках?Подход к Core Data + GCD для комплексной обработки фоновых данных
Подумайте о сложной процедуре загрузки, разбора и сохранения со многими управляемыми объектами, вспомогательных методах для дат, статусов и т. Д. Когда вы запустите фоновый поток с GCD, вам понадобится новый NSManagedObjectContext
, это точно. Но вы не можете сказать, какие управляемые объекты понадобятся каждому под-методу. Итак, вам нужно передать контекст каждому методу помощника, например. просто для того, чтобы сказать разницу NSDate
?
Есть ли простой подход, который не взрывает строки кода?
AFAIK каждый управляемый объект несет свой собственный контекст управляемого объекта, поэтому достаточно передать объект различным методам. Кроме того, вы можете реализовать методы как методы экземпляра в пользовательском подклассе для объекта управляемого объекта. – Eimantas