В общем, выборка из базовых данных - это дорогая работа.Но вы не должны испытывать никаких проблем с производительностью в обоих случаях.Чтобы ответить на ваш вопрос, вы должны использовать свойство, потому что нет необходимости в извлечении или предикатах.Предикат используется только при фильтрации определенных объектов.Итак, что вы делаете в этих двух методах:
Создание предиката и использование его для извлечения всех Order
объектов в массиве.Затем вы вызываете счетчик, чтобы получить общее число OrderDetails
для Order
.
У вас уже есть nsset управляемых объектов и количество вызовов для него.
Итак, логически второй способ быстрее, так как вы ничего не делаете.Но это действительно не должно иметь значения для небольших проектов.Если у вас есть большое количество объектов, и вы просто хотите получить результаты, вы всегда можете вызвать setFetchLimit:
в запросе, прежде чем его получить.