我有两个控制器。在第一个我有一个进度条,并有一个请求,我得到数据和循环。我需要在循环期间更新第一个控制器上的栏。问题是即使它没有更新循环,也只在方法执行完成时更新斜杠。
的firstView:
func addProgress(notification:NSNotification){
dispatch_async(dispatch_get_main_queue()) {
self.progressBar.setProgress(CGFloat.init(notification.userInfo!["progress"] as! Int), animated: true)
self.progressLabel.text = notification.userInfo!["label"] as? String
}
}
SecondView:
//将更新工具栏的方法
<connectionType value="System.Data.SQLite.SQLiteConnection, System.Data.SQLite, Version=1.0.81.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
答案 0 :(得分:0)
我不确定您是否经常切换线程以及绕过通知服务。但是,您应该将进度设置为介于0.0和1.0之间的浮点数。 你正在做的是你将int值从1到JSON.count转换为float。因此,您的进度值始终为1.0或更高。
更好地使用像.setProgress(CGFloat.init(JSON.count) / CGFloat.init(i))
这样的东西。
同时执行这两项操作,将您的整数转换为浮动并确保divisio是浮点除法而不是整数除法。 (整数除法将评估为0或1或更多,但在两者之间注明。)