Junior — Middle
რომელი მონაცემთა ბაზა შესაფერისია სურათების შენახვისთვის?
sobes.tech AI
პასუხი AI-სგან
iOS პროგრამებში სურათების შენახვა ჩვეულებრივ გამოიყენება მონაცემთა ბაზები, რომლებიც მხარს უჭერენ ბინარული მონაცემების (BLOB) შენახვას. თუმცა, ხშირად რეკომენდირებულია სურათების პირდაპირ მონაცემთა ბაზაში შენახვა არ მოხდეს, არამედ ისინი ფაილურ სისტემაში შეინახოს, ხოლო ბაზაში მხოლოდ ამ ფაილების გზები ან ბმულები იყოს.
თუ სურათების შენახვა მონაცემთა ბაზაშია საჭირო, ამისთვის შესაბამისია:
- Core Data — Apple-ის ჩარჩო ობიექტური მონაცემთა მოდელის მართვისთვის, მხარს უჭერს ბინარული მონაცემების (NSData) შენახვას, რაც საშუალებას იძლევა სურათების შენახვა.
- SQLite — ინტეგრირებული ურთიერთბაზა მონაცემთა ბაზა, მხარს უჭერს BLOB ტიპს ბინარული მონაცემების შენახვისთვის.
სურათის შენახვის მაგალითი Core Data-ში:
let imageData = image.pngData()
entity.image = imageData
try context.save()
ოპტიმალური შესრულებისა და რესურსების ეფექტიანი მართვისთვის უკეთესია სურათები ფაილურ სისტემაში შეინახოს, ხოლო ბაზაში — მხოლოდ მეტადონები და გზები ფაილებზე.