2012-04-10 31 views

risposta

51

Qui andiamo.

Questo memorizzerà uno UIImage nella directory dei documenti della tua app iOS. Non è necessario NSFileManager.

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 

UIImage * imageToSave = [UIImage imageNamed:@"Icon.png"]; 
NSData * binaryImageData = UIImagePNGRepresentation(imageToSave); 

[binaryImageData writeToFile:[basePath stringByAppendingPathComponent:@"myfile.png"] atomically:YES]; 

Edit: Se si memorizzano le immagini formano la fotocamera iOS, si potrebbe guardare a come è possibile ruotare le immagini per il giusto orientamento. Look here in that case.

+0

Grazie, ma quando carico l'immagine mi ha mostrato con l'orientamento sbagliato. – user1234096

+0

@JonasSchnelli ... ecco perché ho suggerito NSCoding. –

+1

@Matisse VerDuyn: okay. uno più. Ma girarlo per "mano" non è così difficile. :) –

1

Per salvare come file, potrete sia necessario mettere in un plist, o di creare una rappresentazione png/jpg dell'immagine. È possibile salvare i dati di UIImage un po 'più facilmente con NSCoding.

Vedi questo tutorial per ulteriori informazioni: http://www.raywenderlich.com/1914/how-to-save-your-app-data-with-nscoding-and-nsfilemanager

+1

Hmm ... perché utilizzare NSCoding? Okay: forse quando provi a memorizzare strutture di oggetti complesse con UIImages al suo interno. Il processo di codifica mangia anche i tick della CPU. –