2012-05-04 19 views
0

我真的很困难,第三天的无休止的任务保存和加载我的应用程序中的图像。我正在从相机胶卷中选取图像并尝试通过appsdocs目录将其保存到设备中。试图保存图像采摘到appdocs - 没有发生

在Appdelegate.m

我:

// 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]; 
} 
在我要保存和加载图像类

(从采摘相机胶卷到UI的ImageView)

- (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 .h,在这个类中,不知道是否需要或正确?现在我终于摆脱了所有错误,并没有抛出异常,但现在当我尝试保存图像并加载它时,我的问题没有任何反应。我也越来越黄色三角告诉我我有没有使用可用负荷UIImage* thumImageNSString *appDocsDirectory & NSData *data所以我可能已经做了这个皇家哈希。

回答

0

我用NSuser默认设置,全部整理

1

这就是我在我的一个项目中做到的。

我与委托方法的图片OT了imagePickerController:

- (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]; 
    } 
} 

希望你可以从那里开始。 如果您需要任何解释或帮助,请随时问

+0

感谢您的帮助,我会尝试了这一点 – JSA986