Welche ist besser zur Laufzeit: 1) Speichern von Bildern der Größe 250X120 in sqlite. 2) Speichern von Bildern derselben Größe im Dokumentenverzeichnis. Bei zwei drei Orten App benötigt diese gespeicherten Bilder in der Steuerung angezeigt werden. Auch ich habe Anforderung, maximal 20 Bilder zu zeigen.Bilder zur Laufzeit in iPhone App speichern
Antwort
Die zweite Option ist viel besser als die erste. Um das zu erreichen Nutzung zweiten Teil:
- (void)saveImage:(UIImage*)image:(NSString*)imageName
{
NSData *imageData = UIImagePNGRepresentation(image); //convert image into .png format.
NSFileManager *fileManager = [NSFileManager defaultManager];//create instance of NSFileManager
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //create an array and store result of our search for the documents directory in it
NSString *documentsDirectory = [paths objectAtIndex:0]; //create NSString object, that holds our exact path to the documents directory
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png", imageName]]; //add our image to the path
[fileManager createFileAtPath:fullPath contents:imageData attributes:nil]; //finally save the path (image)
NSLog(@"image saved");
}
+1 M.Sharjeel - und was verwenden wir in der Regel ein semi-Hybrid, wo wir ein Core Data Objekt haben werden (unterstützt von SQLite auf dem Handy/pad), die Enthält Metadaten zu der Datei, die schnell durchsucht werden soll, und speichern dann einen NSString für den Pfad im documentsDirectory.
ihm zustimmen .. Kerndaten ist effizient und eine bessere Leistung als SQLite –
Wenn Sie die Dokumente Verzeichnis Ansatz nehmen, ist dies ein guter Weg, um es zu erreichen.
-(void) saveImage:(UIImage *)image withFileName:(NSString *)imageName ofType:(NSString *)extension inDirectory:(NSString *)directoryPath {
if ([[extension lowercaseString] isEqualToString:@"png"]) {
[UIImagePNGRepresentation(image) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", imageName, @"png"]] options:NSAtomicWrite error:nil];
} else if ([[extension lowercaseString] isEqualToString:@"jpg"] || [[extension lowercaseString] isEqualToString:@"jpeg"]) {
[UIImageJPEGRepresentation(image, 1.0) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", imageName, @"jpg"]] options:NSAtomicWrite error:nil];
} else {
ALog(@"Image Save Failed\nExtension: (%@) is not recognized, use (PNG/JPG)", extension);
}
}
ein Bild zu speichern, tun Sie es einfach so:
NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
[self saveImage:yourImage withFileName:@"Your Image Name" ofType:@"png" inDirectory:path];
das Bild zu laden, implementieren diese Methode:
-(UIImage *) loadImage:(NSString *)fileName ofType:(NSString *)extension inDirectory:(NSString *)directoryPath {
UIImage * result = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.%@", directoryPath, fileName, extension]];
return result;
}
Und dann ist es wie folgt verwenden:
NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
yourImage.image = [self loadImage:@"Your Image Name" ofType:@"png" inDirectory:path];
Oder Sie könnten einfach einstellen Ihr Bild gleich, was diese Methode liefert stattdessen eine Methode zum Erstellen:
NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
yourImage.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/Your Image Name.png", path]];
- 1. iPhone Ansichten zur Laufzeit?
- 2. Speichern xamlx zur Laufzeit
- 3. Anzeige zufällige Bilder zur Laufzeit
- 4. iPhone erstellen SQLite-Datenbank zur Laufzeit?
- 5. Variablen speichern zur Laufzeit-Datei
- 6. Domäne hinzufügen Bilder Quelle zur Laufzeit
- 7. Unity Sprite zwei Bilder Animation zur Laufzeit
- 8. Bilder herunterladen und lokal auf iPhone Phonegap App speichern
- 9. -Sharing Bilder in Google+ mit iPhone App
- 10. So speichern Sie mehrere Bilder aus der Datenbank in TMemoryStream zur Laufzeit und entpacken sie später
- 11. Wie skaliere ich Bilder zur Laufzeit für verschiedene Bildschirme?
- 12. Umfrage C# App Speicherauslastung zur Laufzeit?
- 13. Wie viele Bilder kann ich in meiner iPhone App zwischenspeichern?
- 14. Speicherort in Android-App zur Installationszeit speichern
- 15. FIFO für Bilder in Iphone
- 16. iPhone Simulator zeigt App Bilder, aber das iPhone nicht
- 17. Erkennen von UDID-Spoofing auf dem iPhone zur Laufzeit
- 18. Android: Anfrage zur Laufzeit
- 19. iPhone: Einrichten einer App zur Verwendung als "In App-Kauf"
- 20. Wie speichern Sie Webinhalte und Bilder in der objektiven iPhone App?
- 21. Änderung TopMost zur Laufzeit
- 22. iphone: Erstellen von View-Controller programmgesteuert zur Laufzeit
- 23. Get ppi von iPhone/iPad/iPod Touch zur Laufzeit
- 24. iPhone Cocoa Touch-Interface Builder-Elemente werden zur Laufzeit verschoben
- 25. So stellen Sie die Sprache des iPhone zur Laufzeit ein
- 26. Bilder in Neo4J speichern
- 27. iPhone Schaltfläche Bilder
- 28. Objective-C füge meiner iPhone App zur Laufzeit einen NSButton hinzu
- 29. iPhone - Speichern UIImageView Status
- 30. Verwenden Sie `EditorSceneManager.SaveScene` zur Laufzeit
Dank ... ich weiß die Umsetzung .... :) – adi27