Я новачок у iOS. Я намагався зробити програму, яка зберігатиме зображення, зняте з камери CoreData. Тепер я знаю, як зберігати дані, такі як NSStrings NSDateта інші типи, але намагаюся зберегти зображення. Я прочитав стільки статей, що потрібно записати його на диск і записати у файл, але я, здається, не можу цього зрозуміти.
Наступний код - це той, який я використовував для зберігання інших даних до основних даних.
- (IBAction)submitReportButton:(id)sender
{
UrbanRangerAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
managedObjectContext = [appDelegate managedObjectContext];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"PotholesDB" inManagedObjectContext:appDelegate.managedObjectContext];
NSManagedObject *newPothole = [[NSManagedObject alloc]initWithEntity:entity insertIntoManagedObjectContext:managedObjectContext];
[newPothole setValue:self.relevantBody.text forKey:@"relevantBody"];
[newPothole setValue:self.subjectReport.text forKey:@"subjectReport"];
[newPothole setValue:self.detailReport.text forKey:@"detailReport"];
// [newPothole setValue:self.imageView forKey:@"photo"];
NSDate *now = [NSDate date];
//NSLog(@"now : %@", now);
NSString *strDate = [[NSString alloc] initWithFormat:@"%@", now];
NSArray *arr = [strDate componentsSeparatedByString:@" "];
NSString *str;
str = [arr objectAtIndex:0];
NSLog(@"now : %@", str);
[newPothole setValue:now forKey:@"photoDate"];
[newPothole setValue:self.latitudeLabel.text forKey:@"latitude"];
[newPothole setValue:self.longitudeLabel.text forKey:@"longitude"];
[newPothole setValue:self.addressLabel.text forKey:@"streetName"];
[newPothole setValue:streeNameLocation forKey:@"location"];
NSError *error;
[managedObjectContext save:&error];
UIAlertView *ll = [[UIAlertView alloc] initWithTitle:@"Saving" message:@"Saved data" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[ll show];
}
Основні дані будуть переміщувати дані у зовнішній файл, якщо він досягне певного порогу. Цим файлом також повністю керує Core Data, тому вам не доведеться про це турбуватися.
UIImageоб'єкті. Якщо так, ви можете перетворити його вNSDataоб'єкт за допомогою цього:NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(myUIImage)];я вважаю, що зберігатиNSDataоб'єкти вCoreDataних насправді не складно.