gpt4 book ai didi

ios - 为什么在尝试返回从 Parse.com 获取的 UIImage 时出现此错误?

转载 作者:行者123 更新时间:2023-11-28 21:50:02 27 4
gpt4 key购买 nike

对于以下代码,我在尝试返回从 Parse.com 获取的 UIImage 时出错:

-(UIImage *)getUserImageForUser:(PFUser *)user {


PFFile *userImageFile = user[@"profilePic"];
[userImageFile getDataInBackgroundWithBlock:^(NSData *imageData, NSError *error) {
if (!error) {
UIImage *image = [UIImage imageWithData:imageData];
[self.images setObject:image forKey:user.username];
return image;

}
}];
return nil;
}

错误是:不兼容的 block 指针类型将“UIImage *(^)(NSData *__strong, NSError *__strong)”发送到“PFDataResultBlock”类型的参数(又名“void (^)(NSData *__strong, NSError *__strong)')

如果我删除 block 中返回的 UIImage,则不会出现错误。不知道为什么会这样。我通过在最后返回 nil 来覆盖所有基地。谁能告诉我为什么会这样?

最佳答案

因为您没有从代码块中返回任何内容。该代码块运行,仅此而已,您不需要在那里返回任何东西。

如果您想对该图像做些什么,请在代码块内进行。

例如:

[userImageFile getDataInBackgroundWithBlock:^(NSData *imageData, NSError *error) {
if (!error) {
UIImage *image = [UIImage imageWithData:imageData];
dispatch_async(dispatch_get_main_queue(), ^{
// do something with image on the main queue, like:
self.imageView.image = image
});
}
}];

关于ios - 为什么在尝试返回从 Parse.com 获取的 UIImage 时出现此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28671642/

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