如何在swift ios中将图像存储到应用程序?

时间:2016-01-21 07:01:29

标签: ios swift uiimageview

    @IBAction func btnClicked(){

    let alertController = UIAlertController(title: "Choose an option", message: "", preferredStyle: .Alert)

    let cameraRollAction = UIAlertAction(title: "Camera Roll", style: .Default) { (action) in
        self.imagePicker.delegate = self
        self.imagePicker.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum;
        self.imagePicker.allowsEditing = true
        self.presentViewController(self.imagePicker, animated: true, completion: nil)


    }
    alertController.addAction(cameraRollAction)

    let takePictureAction = UIAlertAction(title: "Take a picture", style: .Default) { (action) in
        self.imagePicker.delegate = self
        self.imagePicker.allowsEditing = true
        self.imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
        self.imagePicker.cameraCaptureMode = .Photo
        self.imagePicker.modalPresentationStyle = .FullScreen
        self.presentViewController(self.imagePicker,
            animated: true,
            completion: nil)
    }
    alertController.addAction(takePictureAction)



}

如何将图像存储到我从设备中选择的应用程序?每当我选择它出现的图像时,但当我关闭并重新打开应用程序时,图像会消失。

3 个答案:

答案 0 :(得分:1)

另一种方法是您可以将图像保存在应用程序的文档目录中。并且这些图像的所有路径都可以存储在NSUserDefaults中。

选中此链接以将图像保存到文档目录:

Click me !

相应地添加NSUserDefaults逻辑。

感谢。

答案 1 :(得分:0)

这里是一个如何存储图像的例子

    let image:UIImage = UIImage.init(contentsOfFile: "someImagePath")!//here it will be the image that you get from the pickerController
    let data:NSData = UIImagePNGRepresentation(image)!
    data .writeToFile("file_Path", atomically: true)

修改

你已经实现了UIImagePickerViewContoller

这个协议
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info;

在信息词典中,您将找到图像。 所以你可以将上面的代码示例放在协议实现中。

答案 2 :(得分:0)

如果您需要存储大量不同的图像,那么您应该查看数据库选项 - 这里是CoreData http://www.raywenderlich.com/115695/getting-started-with-core-data-tutorial的一个很好的教程,但如果您只需要为每个应用程序存储一个图像,那么你可以将其作为存储用户默认值的一部分,并且有一个很好的教程可用于http://www.raywenderlich.com/1914/nscoding-tutorial-for-ios-how-to-save-your-app-data