Jaki jest poprawny sposób przechowywania NSImage w modelu Core Data? Zakładałem dodanie Atrybutu do Entity i nadanie mu typu "Binary" powinno działać, ale nie działa. Mam tabelę z kolumną NSImageCells i nic nie pokazuje.Przechowywanie NSImage w modelu danych podstawowych
Odpowiedz
Musisz utworzyć jego reprezentację NSData.
Spójrz na Non-Standard Persistent Attributes. Zwłaszcza sekcja pod Atrybuty przekształcalne i Kod niestandardowy, jeśli to nie pozwala.
To nie odpowiada na pytanie, które zadałeś, ale w zależności od tego, ile obrazów przechowujesz, bardziej wydajne może być przechowywanie tylko ścieżek lub adresów URL do zdjęć, zapisywanie we własnej lokalizacji i ładowanie ich zgodnie z wymaganiami .
Jeśli możesz pracować w 10,5+, najprostszym sposobem jest zapisanie NSImageRep
s dla obrazu w atrybucie "Transformowalne". Domyślnie transformowalne atrybuty używają NSCoding do zarchiwizowania ich wartości w zestawie i archiwizacji przy dostępie. Dzięki temu nie trzeba pisać niestandardowych programów pobierających/ustawiających. Jeśli chcesz mieć ochotę, możesz napisać niestandardową wersję NSValueTransformer
, która konwertuje obraz na poprawioną wersję jego reprezentacji i odwrotnie w przypadku get. Jeśli używasz 10,4, potem trzeba napisać niestandardowe pobierające/ustawiające (patrz docs Apple na tworzeniu Non-standard persistent attributes. Można uzyskać obraz za powtórzeń graficznych wysyłając NSImage
wiadomość -representations
.
Jeśli chcesz wyświetlać obrazy w interfejsie poprzez wiązania, należy również zapoznać się z sekcją Displaying Images Using Bindings z kakao wiązania Programowanie wątkach.
Tutaj jest naprawdę łatwe wdrożenie
- 1. Przechowywanie opcjonalnego NSNumber w danych podstawowych
- 2. Przechowywanie podstawowych operatorów arytmetycznych w zmiennych
- 3. Dynamiczne tworzenie modelu danych podstawowych w środowisku wykonawczym
- 4. Dawanie błędnych danych podstawowych
- 5. Niestandardowa migracja danych podstawowych
- 6. Modelowanie struktury drzewa w danych podstawowych
- 7. Przechowywanie danych w pamięci
- 8. Przechowywanie danych w pamięci
- 9. Przechowywanie danych w FirefoxOS
- 10. Porównywanie dat danych podstawowych danych
- 11. Karta danych podstawowych "nie archiwizuj"
- 12. NSRangeException po migracji danych podstawowych
- 13. Jak przechowywać obraz w podstawowych danych
- 14. Błąd danych podstawowych NSInvalidArgumentException
- 15. Migracja danych podstawowych w wielu wersjach aktualizacji
- 16. Konwersja CIImage w NSImage
- 17. Przechowywanie ogromnych danych w SQLite
- 18. Przechowywanie tablic w bazach danych
- 19. Przechowywanie danych do NSUserDefaults
- 20. Python Przechowywanie danych
- 21. Złomowanie: przechowywanie danych
- 22. Wykrywanie lekkiej migracji podstawowych danych
- 23. jak przechowywać NSDictionary jako przekształcalne właściwości w danych podstawowych
- 24. Brak pamięci podczas migracji danych podstawowych
- 25. iPhone: Zapisz boolean w danych podstawowych
- 26. Swift: Jak filtrować w danych podstawowych
- 27. Jak pobrać różne wartości w danych podstawowych?
- 28. Utrzymywanie danych podstawowych w przyszłych wersjach aplikacji
- 29. Auto-inkrementowany identyfikator obiektu w danych podstawowych?
- 30. Jednostka macierzysta i związek w podstawowych danych
prowadzi link strona już nie istnieje. Czy –
w porządku. Pozwól mi to naprawić ... –
OK, zaktualizowałem link. Dzięki za heads up! –