Ho circa 60 immagini che voglio memorizzare in Core Data, 30 dei quali sono avatar e hanno il prefisso avt_filename_00X.png e 30 sono più piccoli e hanno un prefisso diverso.Ottieni percorsi immagine da NSBundle in Objective C?
Anziché memorizzare tutte le immagini come BLOB in Core Data/SQLite, voglio memorizzare i percorsi per ogni immagine trovata (nello stesso modo in cui si memorizzerebbero i percorsi di immagine per un database MySQL).
Tuttavia, non sono sicuro di come ottenere il percorso dell'immagine come trovato in NSBundle.
posso ottenere il percorso alla NSDocumentDirectory via:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager fileExistsAtPath:documentsDirectory];
NSLog(@"documentsDirectory = %@", documentsDirectory);
e posso caricare l'immagine e aggiungerla a un array.
if (qty == 0)
{
//NSLog(@"fileToLoad = %@", fileToLoad);
UIImage *img = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:fileToLoad ofType:fileExt]];
[self.avtList addObject:img];
[img release];
} else {
// load multiple image into an array
// not coded yet
}
Ma, ciò che io sono sicuro di si:
Come posso afferrare il percorso in cui il computer ha trovato una volta l'immagine suo interno il NSBundle?
Come posso essere sicuro che il percorso funzioni quando l'app è su un dispositivo?
L'idea sarebbe quella di ottenere tutte le immagini memorizzate in un array e poi spingerli a Core Data/SQLite in un secondo momento.
Sì, questo ha senso. Penso che semplicemente memorizzerò il nome del file in un database e poi userò il codice NSBundle in una fase successiva per riprendere l'immagine. – zardon