Приложение, над которым я работаю, позволяет пользователю выбрать изображение из своего рулона камеры и отобразить его в UIImageView. Теперь у меня возникают проблемы с сохранением данных. Я знаю, что я должен преобразовать изображение в PNG и сохранить данные, но у меня возникают некоторые проблемы. Я очень новичок в сохранении файлов и Objective-C в целом. Вот код, я использую:iOS: преобразование изображения в PNG для сохранения
- (NSString *)dataFilePath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectory stringByAppendingPathComponent:kFilename9];
}
- (void)applicationDidEnterBackground:(NSNotification *)notification {
NSMutableArray *array = [[NSMutableArray alloc] init];
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image.image)];
[array addObject:imageData];
[array writeToFile:[self dataFilePath] atomically:YES];
}
- (void)viewDidLoad
{
self.imgPicker = [[UIImagePickerController alloc] init];
self.imgPicker.allowsImageEditing = YES;
self.imgPicker.delegate = self;
self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
NSString *filePath = [self dataFilePath];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath];
image.image = [array objectAtIndex:0];
}
UIApplication *app = [UIApplication sharedApplication];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidEnterBackground:)
name:UIApplicationDidEnterBackgroundNotification
object:app];
[super viewDidLoad];
}
Программа разбилась на просто нажав на вкладке, что это происходит в отладчике состояние "„NSInvalidArgumentException“, причина:. - [__ NSCFData _isResizable]: непризнанный селектор отправляется экземпляру 0x16cf50 ' ". Любая помощь очень ценится, спасибо!
Удивительно, большое вам спасибо! – John
Нет проблем. Рад помочь – David
Изображение все равно не сохранится, знаете ли вы, как я должен редактировать код, чтобы сохранить его? Еще раз спасибо! – John