我开发了一个带有UIRefreshControl的RSS Feed,以刷新内容。但每当我触发UIRefreshControl时,它就会非常滞后。如果我在Wifi上没有延迟,但如果我的数据连接速度慢,则会有很多延迟。
有人知道为什么会这样吗?
答案 0 :(得分:1)
您正在下载并解析主线程中的数据。这就是它悬挂的原因。永远不要在主线程上耗费时间,它会阻止你的UI。
改变你的:
-(void) refreshInvoked:(id)sender forState:(UIControlState)state
{
[self reloadFeed];
}
像:
-(void) refreshInvoked:(id)sender forState:(UIControlState)state
{
dispatch_async(dispatch_queue_create("midhun", NULL), ^{
[self reloadFeed];
});
}