我得到未更新(那支灰色)的進度條的問題。我得到這個方法來更新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