gpt4 book ai didi

ios - UIImage数据方法返回nil

转载 作者:行者123 更新时间:2023-12-01 16:39:31 29 4
gpt4 key购买 nike

我正在调用一个使用解析连接到数据库的方法来获取图像。
在该方法中一切正常,但是以某种方式,当我返回值时,它总是返回一个空(零)UIImage

这是我的方法:

- (UIImage *)getImage:(NSString *)objectId
{
__block UIImage *image = nil;
if(![objectId isEqual:@""]){
PFQuery *query = [PFQuery queryWithClassName:@"UserPhoto"];
[query whereKey:@"objectId" equalTo:objectId];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if(!error){
for (PFObject *object in objects) {
PFFile *imageFile = [object objectForKey:@"imageFile"];
[imageFile getDataInBackgroundWithBlock:^(NSData *imageData, NSError *error) {
if (!error) {
image = [UIImage imageWithData:imageData];
NSLog(@"self.image: %@",self.image); //logs UIImage
}
else {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
}
} else{
NSLog(@"Error: %@ %@", error, [error userInfo]);
}

}];

}
return image; //returns nil
}

为什么会这样?

我试图将图像放入全局变量中,也不起作用,将其存储在数组中,也不起作用..我很好奇看到解决方案。

最佳答案

假设您想使用返回的图像在代码中的某个位置更新ImageView。

[imageFile getDataInBackgroundWithBlock:^(NSData *imageData, NSError *error) {
if (!error) {
image = [UIImage imageWithData:imageData];
NSLog(@"self.image: %@",self.image); //logs UIImage
[self updateImageViewWithImage:image];
}
else {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];

*提示:UI更改仅在主线程上起作用。

关于ios - UIImage数据方法返回nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25654896/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com