在MainViewController .h文件中:

-(void)startTrackingParking:(int)hour :(int)minute :(int)second;

在MainViewController .m文件中:

-(void)startTrackingParking:(int)hourTrack :(int)minuteTrack :(int)secondTrack {
    NSLog(@"%d %d %d",hourTrack,minuteTrack,secondTrack);

        //Set buttons alpha to 0
        self.extendParking.alpha = 0;
        self.bannerCancelButton.alpha = 0;
        self.timeLeftLabel.alpha = 0;

}


然后在另一堂课中:

MainViewController *class = [[MainViewController alloc]init]; [class startTrackingParking:hourTrack :minuteTrack :secondTrack];

由于某些原因,NSlog会调用,但是按钮alpha不会更新?为什么会这样呢?这是在类和调用方法之间传递数据的错误方法吗?

最佳答案

当您这样做时:

MainViewController *class = [[MainViewController alloc]init];
[class startTrackingParking:hourTrack :minuteTrack :secondTrack];


您创建类MainViewController的实例。与类关联的视图未初始化。

视图控制器延迟加载其视图。首次访问view属性会加载或创建视图控制器的视图。
相反,您可以使用UIStoryBoard方法instantiateViewControllerWithIdentifier:

看看at the docs

关于ios - ios-调用方法但不更新UI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33909605/

10-11 09:22