نحوه ی ذخیره عکس در sqlite و استفاده از عکس ذخیره شده درون برنامه
اون جوری که من متوجه شدم دو راه برای این کار وجود داره 1 : ذخیره آدرس عکس در دیتابیس sqlite و فراخوانی عکس در برنامه با استفاده از آدرس دریافتی از دیتابیس 2 : استفاده مستقیم از عکس encode شده از نوع فایل blob در دیتابیس و نمایش اون در یک imageview
چون استفاده از دیتابیس sqlite خیلی شایع نیس بین ios کارها متاسفانه نتونستم راه خوبی رو برای استفاده از روش دوم توی stack و google پیدا کنم
و سوالاتی که دارم این ها هست :
1 : آیا ذخیره عکس با encoding بلاب در sqlite برای این منظور فرمت درستی هست یا باید به صورت دیگه ای ذخیره بشه
2 : چطور میشه عکس encode شده را در xcode دیکود کرد و در یک imageview نمایش داد
بالاخره مشکلی که برام به وجود اومده بود رو تونستم راهشو پیدا کنم و الان توضیحات و کد مربوط به اون رو میزارم که بچه های دیگه اگه به این مشکل برخوردن بتونن راحت تر مشکلشون رو حل کنن .
مراحل به این صورت بود که ابتدا عکس رو به صورت BLOB در دیتابیس sqlite ذخیره میکنیم بعد از اون طبق آموزش استفاده از دیتابیس خارجی در آموزش های استاد کاشی زاده دیتابیس را به فایل های برنامه انتقال میدیم و از اطلاعات داخل دیتابیس درون برنامه استفاده می کنیم .که در اینجا ما میخوایم عکسی که در دیتابیس با تایپ BLOB ذخیره شده بود رو در یک imageview نمایش بدیم .
کد مربوط به این رو در زیر آوردم که خیلی ساده و واضحه و نیاز به توضیح نداره
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imgTest: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
let db = DB.getInstance()
db.copyDBFromBundle("dataTest")
let records = db.executeQuery("SELECT * FROM exam2 WHERE questionNum = 1")
for record in records {
let imageBytes = record.column["imgTest"]?.asData()
imgTest.image = UIImage(data: imageBytes!)
}
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .