我有一个部分应该将图像保存到手机的“Documents”文件夹中然后访问它。它节省了很多,但加载方法并没有真正起作用。这是我的.m代码:
- (UIImage*)loadImage
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:
@"photo.png" ];
UIImage *image = [UIImage imageWithContentsOfFile:path];
return image;
studentImage = [[UIImageView alloc] initWithImage: image]; //UIImageView property
}
- (UIImage*)loadBarcode
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString* path = [documentsDirectory stringByAppendingPathComponent:
@"barcode.png" ];
NSLog(@"%@", path);
UIImage *image = [UIImage imageWithContentsOfFile:path];
return image;
barcode = [[UIImageView alloc] initWithImage: image]; // UIImageView property
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self loadBarcode];
[self loadImage];
}
文件肯定可以访问,文件路径是正确的。但是UIImageViews我试图将它们分配给空白。我的选择已经用完了。你们有什么建议吗?
答案 0 :(得分:0)
在loadImage
方法中,问题在于:
return image;
studentImage = [[UIImageView alloc] initWithImage: image];
您首先使用传输控件的return
语句,并且永远不会将其分配给UIImageView
控件。
应该是这样的:
studentImage = [[UIImageView alloc] initWithImage: image];
return image;
如果studentImage
通过IB DON'T re-allocate it
连接,则还有一点。而是使用:
studentImage.image = image;
希望它有所帮助!
答案 1 :(得分:0)
现在问题已解决,我的属性名称存在问题,但感谢您帮我清理代码!