Я занимаюсь учебным пособием по CoreData, и они говорили о опции «Позволяет внешнее хранилище». В документации указано: «Когда включено, Core Data эвристически решает на основе стоимости, если он должен сохранять данные непосредственно в базе данных или хранить URI в отдельный файл, который он управляет для вас. Вы не можете запрашивать на основе содержимого двоичных данных, если вы используете эту опцию ". Я понимаю первую часть, но я не понимаю, что они подразумевают под «Невозможно выполнить запрос на основе содержимого свойства двоичных данных, если вы используете эту опцию». Я чувствую, что это важный материал, но я не могу этого понять. «Вы не можете запрашивать на основе содержимого двоичных данных», что это значит? Я не хочу, если это мой плохой английский или что-то, но я не могу понять. Учебное пособие «Основные данные по учебникам» из серии учебников по книге Рей Вендерлиха. Я очень рекомендую!CoreData и опция «Разрешить внешнее хранилище»
ответ
изображение NSData, которое вы храните, представляет собой данные jpeg с заголовком exif.
Если вы храните данные внутри БД, вы можете использовать предикат, соответствующий указанным данным exif: например. что-то вроде (псевдо) «jpgedData СОДЕРЖИТ автор: Dominik»
, если вы храните его в виде отдельного файла, что запрос не будет работать, так как данные на самом деле не в базе данных
[отметить, что это было объясняющий псевдокод, и я не могу действительно придумать практический/полезный пример]
oohh ok Я вижу, что в принципе вы не можете делать то, что вы даже не должны делать на регулярной основе. Круто! :) – Plot
Все это означает, что если вы включите этот параметр для свойства, вы не сможете использовать это свойство в NSPredicate
при извлечении объектов. Запрос выборки - это запрос, и когда вы используете предикат, вы извлекаете объекты на основе того, соответствуют ли они предикату. Это не работает, если для свойства допускается внешнее хранилище.
Хорошо, я думаю, что понял. В принципе, вы не можете использовать необработанные метаданные изображения для поиска определенного изображения, потому что у вас нет доступа к необработанным данным. У вас есть только доступ к URI. Звучит логично и справедливо для меня, поскольку вы можете просто извлечь метаданные и сохранить их в своей модели CoreData, прежде чем сохранять изображение в качестве трансформируемого (если необходимо).
- 1. Внутреннее и внешнее хранилище
- 2. Внутреннее и внешнее хранилище Android
- 3. FileProvider и вторичное внешнее хранилище
- 4. CoreData: постоянное и временное хранилище
- 5. phonegap внешнее хранилище
- 6. Сохранение во внешнее хранилище
- 7. Внешнее хранилище не установлено
- 8. Внешнее хранилище XenServer
- 9. Уникально идентифицировать внешнее хранилище
- 10. Spark RDD Внешнее хранилище
- 11. Внешнее хранилище на android
- 12. Внешнее хранилище в Android
- 13. Внешнее хранилище Android
- 14. Android - Найти все внутреннее и внешнее хранилище
- 15. Внешнее хранилище и HTC One V
- 16. Разрешение на внешнее хранилище Android
- 17. Внешнее хранилище USB на Android
- 18. Внешнее хранилище для внутреннего хранилища
- 19. Запись на внешнее хранилище filenotfoundexception
- 20. Протрите внешнее хранилище не работает
- 21. Внешнее хранилище Android не синхронизировано
- 22. iCloud-CoreData разрешить конфликты
- 23. Хранилище Cache CoreData в памяти
- 24. Когда создается постоянное хранилище CoreData?
- 25. Android, получающий внешнее хранилище Абсолютный путь
- 26. Внешнее хранилище Android против SD-карты
- 27. Создание/запись файлов на внешнее хранилище Android
- 28. Как сохранить загруженные файлы во внешнее хранилище
- 29. Android HTC/Sony Внешнее хранилище Разрешение Отказано
- 30. Запись растрового изображения на внешнее хранилище (sdcard)
Для ссылки будущих читателей может быть полезно опубликовать ссылку на конкретный учебник, который вы проходили. – narner
Я отредактировал y ответ. – Plot