DevPrep

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

Ленивая загрузка и CoreData

Middle PRO

Суть

Lazy loading — паттерн, при котором данные подгружаются не заранее, а в момент первого обращения. В Core Data он реализован механизмом faulting: результат fetch — это объекты-заглушки (fault), у которых известен только objectID; атрибуты читаются из хранилища при первом доступе к свойству. То же относится к связям: author.books — это fault на Set, пока вы его не перебрали. Благодаря этому можно сделать fetch на 10 000 записей и держать в памяти почти ничего.

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

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

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

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

Скачать DevPrep в App Store