Hi Reader’s,
This blog includes the concept of how to store and fetch data from document directory. You can easily understand the concept with the help of code given below:-
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
- (IBAction)btnShowImage:(id)sender;
@property (weak, nonatomic) IBOutlet UIImageView *imgView;
@end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
{
NSData *data;
NSString *filePath;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self saveImageInDocumentsDirectory];
[self fetchImageInDocumentsDirectory:filePath];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(NSData *)saveImageInDocumentsDirectory
{
NSURL *url= [[NSURL alloc]initWithString:@"https://www.uky.edu/ukat/sites/www.uky.edu.ukat/files/help/mobile/android/apple-logo.png"];
data = [NSData dataWithContentsOfURL:url];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory
filePath = [documentsPath stringByAppendingPathComponent:@"image.png"]; //Add the file name
[data writeToFile:filePath atomically:YES];
return data;
}
-(void)fetchImageInDocumentsDirectory:(NSString*)filepath
{
data = [NSData dataWithContentsOfFile:filePath]; // fetch image data from filepath
}
- (IBAction)btnShowImage:(id)sender {
[self showImageFromDocumentDirectory:data];
}
-(void)showImageFromDocumentDirectory:(NSData*)dataOfImage
{
UIImage *convertImageFromNSData = [UIImage imageWithData:dataOfImage];
_imgView.image=convertImageFromNSData;
}
@end
Output:-
You can also download the sample project from the link given below:-
0 Comment(s)