我有我的主线程,我在其中调用一个加载数据的方法(需要一段时间)。我用 performSelectorInBackground 调用这个方法并传递委托。数据加载方法定期回调以更新进度,它调用最初在后台启动它的同一控制器类中的方法(委托)。这个方法看起来像:
-(void)loadingProgress:(float)progress{
NSLog(@"Progress %f", progress);
myProgressView.progress = progress;
}
所以我知道该方法正在被调用并运行,因为我得到了增加进度值的日志读数,但进度指示器没有移动。我发现的所有内容都表明要确保主线程可以自由更新视图,但是 NSLog 运行的事实是否意味着它是免费的?这是怎么回事?