gpt4 book ai didi

ios - UIImageView 重复更新失败

转载 作者:行者123 更新时间:2023-11-29 03:05:02 24 4
gpt4 key购买 nike

我有一个 View Controller ,它在 viewDidAppear 中调用以下内容:

[self updateCameraImage];
[cameraImageView setImage:lastCameraImage];

效果很好。在后台, updateCameraImage 方法向服务器发送消息并检索图像数据,然后将该数据转换为 UIImage。然后它将 self.lastCameraImage 设置为此 UIImage。第二行将此图像设置为cameraImageView.image,新图像将显示在屏幕上。此 UIImageView 已添加到 Storyboard中,并作为属性添加到标题中。

@property (nonatomic, strong) UIImage *lastCameraImage;
@property (weak, nonatomic) IBOutlet UIImageView *cameraImageView;

我希望这个不断更新。问题是,如果我执行类似以下操作,直到最后一次调用 setImage 时,它​​实际上不会在 View 中显示新图像。我知道图像正在被检索,所以我不知道为什么它不起作用。

[self updateCameraImage];
[cameraImageView setImage:lastCameraImage];
[self updateCameraImage];
[cameraImageView setImage:lastCameraImage];
[self updateCameraImage];
[cameraImageView setImage:lastCameraImage];

任何帮助都会很棒!谢谢。

最佳答案

如果您在主线程上运行此代码,并且您的 updateCameraImage 函数是同步的,那么您将阻塞 UI,直到所有代码完成。尝试在后台执行提取,然后分派(dispatch)回主线程以更新 UI。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self updateCameraImage];

dispatch_async(dispatch_get_main_queue(), ^{
[cameraImageView setImage:lastCameraImage];
});
});

关于ios - UIImageView 重复更新失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22874646/

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