Ich bin neu in iOS. Ich habe versucht, eine Anwendung zu erstellen, in der ein von der Kamera aufgenommenes Bild gespeichert wird CoreData
. Ich weiß jetzt, wie man Daten wie NSString
s NSDate
und andere Typen speichert, habe aber Schwierigkeiten, ein Bild zu speichern. Ich habe so viele Artikel gelesen, dass Sie es auf die Festplatte schreiben und in eine Datei schreiben müssen, aber ich kann es anscheinend nicht verstehen.
Der folgende Code ist der, mit dem ich andere Daten in Kerndaten gespeichert habe.
- (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];
}
UIImage
Objekt gespeichert . Wenn ja, können Sie es folgendermaßen in einNSData
Objekt konvertieren :NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(myUIImage)];
Ich glaube, das Speichern vonNSData
ObjektenCoreData
ist nicht wirklich schwierig.