Базовые данные не являются базой данных. Если вы хотите массово обновить объекты, вам придется их извлекать и обновлять значения самостоятельно.
Хороший способ сделать это - выбрать, скажем, 100 за раз (используя NSFetchRequest
с набором fetchLimit
), обновить их, а затем сохранить контекст управляемого объекта. Вспенить, промыть, повторять до тех пор, пока все объекты не будут обновлены.
И, как предположил Джерри, если обновление, которое вы делаете, простое, вы можете использовать makeObjectsPerformSelector:
, чтобы выполнить обновление в одну строку.