Заредете изображение от файл - запазете в основните данни - покажете изображение с обвързвания

Бих искал да заредя изображения от диска и да ги добавя към основните данни. Имам атрибут, зададен като transformable.

Бих искал да получа указания как да чета изображенията и след това да ги добавя към обекта. По-късно бих искал да покажа изображението в изображение добре, използвайки обвързвания.

Трябва ли да чета файловете като NSData?

странична бележка,

Имам и данните base64 за изображенията в JSON. По-добре ли е да четете и добавяте base64 към основните данни? Когато тествах четенето и добавянето на кода base64, останах с впечатлението, че е бавен


person Mikael    schedule 20.01.2013    source източник


Отговори (1)


Препоръчителният начин да направите това е да съхранявате изображенията във файловата система и просто да съхранявате името на файла / части от пътя в Core Data.

Причината е, че големите BLOBs (вътрешният SQLite формат) могат значително да забавят вашата база данни. Само сравнително малки изображения (като миниатюри) могат да бъдат обработвани разумно от Core Data.

Вашият опит с това, че основните данни са „бавни“, се дължи точно на това явление. От това следва, че вашите изображения не са достатъчно малки, за да се съхраняват в основните данни. Следователно не е нужно да се занимавате с трансформирането на изображения, съхранени в Core Data, в UIImage. Вашият подход с NSDataе правилен.

person Mundi    schedule 20.01.2013
comment
Благодаря за вашият отговор! Да кажем, че съхранявам пътя до файловете в Core Data, как бих използвал това в свързванията с Image Well? Относно BLOB, няма ли „Съхраняване във външен файл със записи“ да реши това? - person Mikael; 20.01.2013
comment
Съхраняването на изображения отвън, разбира се, би премахнало необходимостта от съхраняване на BLOB в Core Data. Споменах го само като обяснение. Предложената настройка е доста независима от това как представяте данните, включително Image Well. - person Mundi; 21.01.2013
comment
Това, което направих, беше да добавя пътя към файла с изображението в основните данни, точно както казахте. След това използвах Value Path за свързванията. Благодаря! - person Mikael; 21.01.2013