我得到未更新(那支灰色)的进度条的问题。我得到这个方法来更新MainViewController.m进度条:iOS的进度条不更新
- (void)setProgress:(float)prog {
NSLog(@"Progressbar updated, value %f", prog);
self.progressBar.progress = prog;
}
当我使用调用它从类中(内MainViewController.m):
// in MainViewController.m
[self setProgress:1.0];
一切是伟大的工作,该栏显示蓝色的进度,并且我得到了带有值的NSLog输出。
有了这个进度条,我希望可视化我在循环中执行的处理,该循环运行在不同的类(processing.m)中,将消息的进度发送到MainViewController我正在使用协议:
#import "progressProtocol.h"
@interface MainViewController : UIViewController <progressProtocol>
- (void)setProgress:(float)prog;
@end
并在processing.m:
// in processing.m
[self.delegate setProgress:1.0];
当我通过经由协议发送消息调用setProgress方法我只能获得正确的值,但在进度条的输出的NSLog根据不移动到价值!?当我在方法内部设置断点时,我可以看到该方法被调用,但进度条不移动。
我送约几个hundert倍新值的消息在循环中 - 但在进度条一点变化都没有,只是用的NSLog正确的值。任何想法?
检查什么是prog'的'当您使用协议调用它的价值。 – Frankie
是否在主线程上更新了条形图?它必须。 – vadian
@Frankie:我让NSLog也打印出prog'NSLog(@“Progressbar updated,value%f”,prog)的值;'并且该值传递正确! – Hecot