UIRefreshControl EXC_BAD_ACCESS

Jul*_*ert 2 exc-bad-access uitableview uiviewcontroller uirefreshcontrol

我正在尝试在UIViewController中实现UIRefreshControl.我不能使用UITableViewController,因为tableView只是我的viewController的一个部分.

在大多数情况下,这种解决方法就像魅力.但有时(随机发生)应用程序崩溃EXC_BAD_ACCESS code=1

- (void)viewDidLoad {
    [super viewDidLoad];

    UIRefreshControl * refCon = [[UIRefreshControl alloc] init];
    [refCon addTarget:self selector:@selector(refresh:) forControlEvent:UIControlEventValueChanged];
    [tableView addSubView:refCon];
}

- (void)refresh:(UIRefreshControl *)sender {
    [NSThred detachNewThreadSelector:@selector(doRefresh:) toTarget:self withObject:sender];
}

- (void)doRefresh:(UIRefreshControl *)sender {
    [self checkUpdate];
    [self loadData];
    [sender endRefreshing];
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*ong 5

你在-endRefreshing后台线程上调用.不要那样做.

此外,UIRefreshControl直接添加直接作为子视图UITableView不能保证工作.你应该使用一个UITableViewController.