0

我有一个名为“MainUI.m”的主“类”/视图控制器,它显示我的应用程序的 UI。在这个视图控制器中,我声明了另一个名为“DoActivity.m”的类的实例,因此我可以在我的 MainUI 中调用它的一个名为“getFeed”的方法。在方法结束之前,它必须从我的 MainUI 更新图像。然后该方法再次重复。我的问题是,每当我在方法中更新 UI 时,应用程序就会崩溃:

MainUI* mu = [[MainUI alloc] init];   

-(void)getFeed{
//some tasks here

mu.imageView.image= imageInDoActivity.image;
}

编辑

错误说类似

Thread 1: Program recieved signal:'EXC_BAD_ACCESS' 

并在这行代码中突出显示:

mu.imageView.image= imageInDoActivity.image;

编辑

我在 DoActivity 中有一个 MainUI 属性:

@property MainUI* mu;

但是在我的 DoActivity 构造函数中,我没有初始化所述属性。相反,在 doAct 所在的 MainUI 中调用 [self.doAct getFeed] 之前

@property DoActivity* doAct;

我设置

self.doAct.mu = self;

在 MainMU 中,以便 DoActivity 知道它应该更新调用它的类的 UI。

我该如何解决?

4

1 回答 1

2

你需要在主线程上做 UI 的东西:

-(void)getFeed{
    //some tasks here

    dispatch_async(dispatch_get_main_queue(), ^{
        mu.imageView.image= imageInDoActivity.image;
    });
}

我不确定这是否真的是您崩溃的原因。崩溃日志真的很有帮助。

于 2013-11-13T12:49:58.817 回答