DevPrep

Все темы › Базы данных и хранилища

Каковы нюансы Core Data при работе с потоками?

Senior PRO

Главное правило

NSManagedObjectContext и все его NSManagedObject принадлежат одной очереди: main-контекст — главной, private-контекст — своей внутренней. Любое обращение (чтение свойства, fetch, save) должно идти через perform { } или performAndWait { } этого контекста. Нарушение даёт не детерминированные краши и порчу данных, причём часто не там, где ошибка.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store