2013-12-11 57 views
-4

我有下面的代码,用于在用相机拍照后在iOS应用程序中存储图像。图像需要有一个可识别的名称,以便以后可以为每个联系人检索。我怎么能传递给它一个参数或两个参数,这样文件名就会变成firstname_lastname.jpg而不是newImage.jpg?Objective-C发送参数到void函数

-(void)saveIMAGE { 

    NSData *imgView = UIImageJPEGRepresentation(imageView.image, 1.0); 

    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *docPath = [path objectAtIndex:0]; 

    imgPathString = [docPath stringByAppendingPathComponent:@"newImage.jpg"]; 

    [imgView writeToFile:imgPathString atomically:NO]; 

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Image Saved" message:@"The Image Was Saved." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; 
} 
+0

有人能至少说明向下票等等我至少知道我在问我的问题时做错了什么? –

+0

使用像:' - (void)saveImage:(NSString *)imageName { ... imgPathString = [docPath stringByAppendingPathComponent:imageName]; ... }' –

+0

谢谢,为什么倒票? –

回答

1

更新此行

imgPathString = [docPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@.jpg",firstname,lastName]]; 

修改你的方法,如:

- (void) saveImage :(NSString *)firstname withLastName :(NSString *)lastName 
{ 

     NSData *imgView = UIImageJPEGRepresentation(imageView.image, 1.0); 

     NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *docPath = [path objectAtIndex:0]; 

     imgPathString = [docPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@.jpg",firstname,lastName]]; 

     [imgView writeToFile:imgPathString atomically:NO]; 

     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Image Saved" message:@"The Image Was Saved." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
     [alert show]; 

} 

,只是改变调用

[self saveImage:@"Scott" withLastName:@"Rowley"]; 
+0

太棒了,非常感谢。 –

+0

我用变量运行调用,但它运行良好,再次感谢。 [self saveImage:artist_Name withLastName:artist_LastName]; –