Ios 图像不会模糊

Ios 图像不会模糊,ios,uiimageview,uiimage,blur,Ios,Uiimageview,Uiimage,Blur,我有一个完全清晰的图像视图,在调用和操作时会模糊图像并显示一些文本。然而,在我从云中调用所有信息的过程中,图像模糊现在似乎不起作用。运行的原始代码如下所示: - (void)viewDidLoad { [super viewDidLoad]; source=[UIImage imageNamed:@"testIma.jpg"]; imgView=source; } -(IBAction)Less:(id)sender{ imgView.image=[source

我有一个完全清晰的图像视图,在调用和操作时会模糊图像并显示一些文本。然而,在我从云中调用所有信息的过程中,图像模糊现在似乎不起作用。运行的原始代码如下所示:

- (void)viewDidLoad {
    [super viewDidLoad];
    source=[UIImage imageNamed:@"testIma.jpg"];
    imgView=source;
}
-(IBAction)Less:(id)sender{
    imgView.image=[source stackBlur:40];
}
现在我把它设置成这样,但它不起作用:

    - (IBAction) Less:(UISlider *)sender
{
    NSLog(@"Slider:");
    __block UIImage *MyPicture = [[UIImage alloc]init];
    PFFile *imageFile = [object objectForKey:@"test"];
    [imageFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error){
        if (!error) {
            MyPicture = [UIImage imageWithData:data];
            imgView.image = [MyPicture stackBlur:40];
        }
    }];

有人注意到什么不对劲吗?我似乎无法理解为什么它不再模糊。

您是否验证了
MyPicture
imageWithData:
之后不是
nil
?您是否从后台线程更新UI?不要那样做。将对
-setImage:
的调用发送回主线程。Tim完全正确。只能从主线程更新视图。尝试使用dispatch\u async(dispatch\u get\u main\u queue(),^{//you code here});很抱歉,我对Xcode还是有点陌生,你能帮我详细解释一下吗?