2015-01-28 2 views
-1

UIViewControllerUITableView이 있습니다.iOS NSURLConnection이 connectionDidFinishLoading을 호출하지 않습니다.

viewDidLoad 방법에서는 NSURLConnection : [[NSURLConnection alloc]initWithRequest:request delegate:self]으로 전화합니다.

이 후, 나는 과 같은 NSURLConnectionDelegate 메서드를 호출해야한다고 가정합니다. 내 생각은 데이터를 가져 와서 테이블을 채우는 것입니다.

실제로 실제로는 NSURLConnection 전화 후에는 UITableViewDataSource 메서드가 didReceiveResponse 메서드보다 먼저 호출됩니다. 이 때문에 새 데이터로 테이블 뷰를 초기화 할 수 없습니다.

왜? 그것을 고치는 방법?

대단히 감사합니다!

+1

다시로드의 tableview를 표시해야하는 요소 배열을했다. 문제를 호출하지 않으면 코드에 코드가 없어도 아무 것도 말할 수 없습니다. –

+0

'UITableView'에서 언제'reloadData'를 호출합니까? –

+0

제목에 connectionDidFinishLoading이 호출되지 않는다고 표시됩니다. 사실을 알고 계신지, 아니면 테이블 뷰에서 비어있는 것을 기준으로 삼고 있습니까? – rdelmar

답변

0

당신이 당신의 jQuery과에 connectionDidFinishLoading``에서

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    // Update data from the response to your elements array 
    ... 

    // Reload Data 
    [self.tableView reloadData]; 
} 
0

새 정보를받은 후 또는 특정 인덱스에 새 행을 삽입하여 UITableView reloadData 메서드를 사용하여이 문제를 해결하면 전체 UITableView가 업데이트되지 않도록 할 수 있습니다. 당신을 가정