2012-05-04 11 views
0

私は本当にこの問題に苦しんでいます。私はカメラロールからイメージを選んで、appsdocsディレクトリ経由でデバイスに保存しようとしています。私が持っているAppdelegate.mでイメージをappdocsに保存しようとしていません - 起こっていません

:私は(UI ImageViewのにカメラロールから選んだ)画像を保存し、ロードしたいクラスの

// Returns the URL to the application's Documents directory. 
- (NSURL *)applicationDocumentsDirectory 
{ 
    return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
} 

- (IBAction)save:(id)sender { 
    UIImage *myImage = [imageView image]; 
    NSData *data = UIImagePNGRepresentation(myImage); 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *appDocsDirectory = [paths objectAtIndex:0]; 
} 

- (IBAction)load:(id)sender { 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *appDocsDirectory = [paths objectAtIndex:0]; 
    UIImage* thumImage = [UIImage imageWithContentsOfFile: [NSString stringWithFormat:@"%@/%@.png", appDocsDirectory, @"myNewFile"]]; 
} 
@end 

私もAppdelegateをインポート私は最終的にすべてのエラーを取り除き例外がスローされないようになったが、今はイメージを保存してロードしようとすると何も起こりません。私も黄色の三角形を得て、私はロード中に未使用の証明書を持っていると言っています。UIImage* thumImageNSString *appDocsDirectory & NSData *data私はこれのロイヤルハッシュを作ったかもしれません。

答えて

0

気軽に 、すべてはあなたの助けのために

1

これは私が自分のプロジェクトで行ったことです。

私はimagePickerControllerをotのデリゲートメソッドで画像を取得する:その後、私はこのようにそれを保存

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    pictureInfo = info; 
} 

-(void)createPin 
{ 
    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *pinFolderName = [NSString stringWithFormat:@"%f",[[NSDate date] timeIntervalSince1970]]; 
    NSString *pinFolderPath = [documentsDirectory stringByAppendingPathComponent:pinFolderName]; 
    [fileManager createDirectoryAtPath:pinFolderPath withIntermediateDirectories:YES attributes:nil error:NULL]; 
    self.fullsizePath = [pinFolderPath stringByAppendingPathComponent:@"fullsize.png"]; 
    NSString *mediaType = [pictureInfo objectForKey:UIImagePickerControllerMediaType]; 
    if ([mediaType isEqualToString:@"public.image"]){ 
     UIImage *fullsizeImage = [pictureInfo objectForKey:UIImagePickerControllerEditedImage]; 
     NSData *fullsizeData = UIImagePNGRepresentation(fullsizeImage); 
     [fullsizeData writeToFile:self.fullsizePath atomically:YES]; 
    } 
} 

は、あなたがそこから開始することができます願っています。あなたが任意の説明やヘルプが必要な場合、私はNSuserのデフォルトを使用している

+0

感謝をソートし、私はそれを試してみます – JSA986

関連する問題