Ответ 1
Первое, вероятно, более эффективно. Если последние были более эффективными, Apple просто использовала бы этот маршрут для реализации первого.
Если говорить, если вы спрашиваете, потому что производительность, похоже, является проблемой, вероятно, больше того, что вы тратите много времени на материал Core Data для сбоев объектов. Разумным шагом было бы сделать выборку на self in %@
с помощью groups
; установите для запроса выборки returnsObjectsAsFaults
значение НЕТ и убедитесь, что указаны соответствующие relationshipKeyPathsForPrefetching
. Чистый эффект от этого будет заключаться в том, что все данные, которые вы собираетесь перебирать, извлекаются за одну поездку в хранилище резервных копий, а не каждый отдельный кусочек, получаемый по требованию в большом количестве отдельных отключений.