Предположим, что я получил объект NSManagedObject внутри исполняемого блока в частном NSManagedObjectContext. Я также сохранил указатель NSManagedObject в AppDelegate. поэтому в основном я держу его на «основной теме». Может ли это вызвать какие-либо проблемы? Обратите внимание, что я всегда получаю доступ к атрибутам в пределах выполнения, представленным в правильном контексте.Указатель на объект NSManagedObject за пределами функции executeBlock
1
A
ответ
2
Нет, вы не можете этого сделать. Ссылка на объект из другого контекста может привести к краху вашего приложения.
Существует несколько решений. Например, ваша глобальная переменная может быть уникальным атрибутом, который вы можете использовать для извлечения объекта в правильном контексте.
Некоторые из операций могут выполняться в том же контексте, что и объект, в котором хранится ваш глобальный объект.
И, наконец, вы также можете передавать объекты между контекстами, используя objectID
, непрозрачный тип NSManagedObjectID
. Вы можете инициализировать свой локальный объект в определенном потоке с помощью object(with:)
.
Смежные вопросы
- 1. Можете ли вы использовать NSManagedObject за пределами его выполнения?
- 2. toCharArray, указатель за пределами
- 3. Невозможно получить объект за пределами функции
- 4. Javascript - используя объект за пределами функции
- 5. Ошибка AppController: указатель за пределами
- 6. Подкласс NSManagedObject за пределами управляемого объекта как обычного объекта
- 7. Как объект на Facebook за пределами Facebook
- 8. Ссылка на объект за пределами используемого() блока
- 9. Указатель за пределами допустимого диапазона ASP C#
- 10. Объект за пределами установленного списка
- 11. Указатель индекса NumPy FFT за пределами диапазона?
- 12. Android Contacts Query - указатель курсора за пределами
- 13. индекс за пределами функции gbm
- 14. lual_newstate за пределами основной функции
- 15. GCC предупреждает о функции Указатель на указатель на объект Cast
- 16. Пропустить и сохранить указатель функции на объект
- 17. Как использовать объект за пределами основной функции в C++?
- 18. Как использовать мой обработанный разбор объект за пределами функции запроса
- 19. Указатель на указатель функции
- 20. Как передать указатель на объект функции? C++
- 21. указатель на объект функции в C++
- 22. Применение RAII за пределами одной (членной) функции
- 23. Доступ к объектам стека за пределами функции
- 24. Угловое использование данных за пределами функции?
- 25. Указатель 0 за пределами для пустого массива при вызове addObject?
- 26. Объект под мышью за пределами плоскости отсечения
- 27. jquery определить объект за пределами domcument.ready()
- 28. C - Изменение значения переменной за пределами функции путем указания указателей
- 29. Ссылка на объект, сохраняющаяся за пределами объявления переменной
- 30. Как использовать объект за пределами его области
с CoreData, вы не должны передавать объект между потоком, но передавать его ObjectID и снова извлекать из хранилища данных в другой поток. –