2014-05-11 1 views
0

@property (strong, nonatomic) __block NSArray *users;을 사용하여 배열 변수를 정의했으며 self.users = ...;을 사용하여 블록 내에서 변수를 변경하려고합니다. 블록은 [NSURLConnection sendAsynchronousRequest:queue:completionHandler]에 대한 매개 변수로 전송됩니다. sendAsynchronousRequest 메서드는 내 "테이블 뷰 컨트롤러"의 viewDidLoad 메서드에서 호출되는 메서드에서 호출됩니다.블록 내에서 인스턴스 변수/속성에 영향을 줄 수 있습니까?

[awesomeObject.users count]으로 전화하면 이됩니다. sendAsynchronousRequest를 사용하는 경우

약간의 접선으로

, 나는이 NSURLConnection 대리자 메서드 didReceiveResponse, didReceiveDataconnectionDidFinishLoading를 구현해야합니까?

편집 :
오른쪽. 방금 numberOfRowsInSection으로 호출되고 블록이 실행된다는 것을 알게되었습니다. 테이블 뷰에 자체적으로 다시로드하라는 알림을 추가하는 것을 잊었습니다. 블록 내부에서 알림을 보내면 문제가 해결되었습니다.

+0

완료 처리기를 사용하고 있으므로 위임 메서드를 구현할 필요가 없습니다. 그러나 배열 안에 객체가 있는지 확인하십시오. – Sandeep

+0

@ insane-36 나는 게시 후 문자 그대로의 순간을 깨달았다. 내 대답을 보라. –

답변

0

데이터 처리 후 테이블보기를 다시로드하는 것을 잊었습니다. 테이블 뷰 컨트롤러에서 들려오는 블록 안의 알림을 보내 데이터가 처리되면 테이블을 다시로드하게했습니다.