2012-02-23 19 views
0

私は今、UIImagePickerに苦労しています。IOSで新しいトークン写真を保存する方法

私はこの文書を読んだことがありますが、私は新しくトークン写真を保存する必要はありません。アプリ内の自分の文書に保存することを意味します。

実際には、そのコアデータの私のエンティティの一つ、

で「写真」属性があり、「写真は」ちょうど、本物の写真のファイルパスを保存するためのNSStringすべきですか?

しかし、その写真を保存して正しいファイルパスを取得するにはどうすればよいですか?

私はちょうどNSFilePathやそのようなことについて少し知っている、私に少し教えて欲しい。

ありがとうございます!

答えて

0

あなたは、イメージピッカーを提示する方法を知っている可能性がありますのViewController以上により

UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
picker.delegate = self; 
picker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
[viewController presentModalViewController:picker animated:YES]; 

はUIImagePickerControllerDelegateを実装し、この機能を実装していることを確認します

- (void)imagePickerController:(UIImagePickerController *)returnedPicker didFinishPickingMediaWithInfo:(NSDictionary *)info 

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)returnedPicker 

最初のメソッドは、ユーザーが写真を選択したときに呼び出されます。

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; 

をあなたはそれJPEGまたはPNGにすることができ、ファイルにこれを書き込むには:この方法では、使用して画像を取得します。 JPEGの場合、

[UIImageJPEGRepresentation(image, 1.0) writeToFile:filename atomically:YES]; 

ファイル名を設定するだけです。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *docsDir = [paths objectAtIndex:0]; 
NSString *filename = [docsDir stringByAppendingPathComponent:@"myFilename.jpg"]; 

あなたがこれを行うバックUIImageに画像を取得するには、次の

NSData *data = [NSData dataWithContentsOfFile:filename; 
if(data != nil) 
    UIImage *image = [UIImage imageWithData:data]; 
+0

おかげでたくさん!それは非常に具体的なので、ファイル名は単なるNSStringですか?写真を取り戻す必要があるときには、/ document/resource /などのような写真のファイルパスを考慮する代わりに、ファイル名をNSStringとして使用しますか? –

+0

これを説明するためにいくつかの行を追加しました - はい、この場合NSStringだけですが、ドキュメントディレクトリを接頭辞として使用する必要があります。 – Tonester

+0

もう一度おねがいします!それが私を大きく助けました! –

関連する問題