I'm writing an iOS application using Swift 2.2 and I want to save profile picture of an account locally in a Realm database according to resize the picked image. I googled and also saw here but not clear well. If images are small in size or less in numbers or if I have more images or large size what can be done?
another confusion is what I will use either NSData or NSString ? my model is
class IndividualContact: Object {
dynamic var photoDataString = ""
var photoData: NSData? = nil
dynamic var isPhotoAvailable = false
}
and I already picked image from gallery
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
imageView.contentMode = .ScaleAspectFit
imageView.image = pickedImage
}
now how can I store it according to resize it as (120*110 size)?
You can not save directly image into Realm
, convert it into NSData
and the store it.
if your image is of type JPEG
then use,
let data = NSData(data: UIImageJPEGRepresentation(yourImage,0.9))
and if your image is of PNG
type then use,
let data = NSData(data: UIImagePNGRepresentation(yourImage))
after that write you file in realm like,
let realm = Realm()
realm.write{
realm.add(data)
}
Hope this helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With