@property (strong, nonatomic) __block NSArray *users;
을 사용하여 배열 변수를 정의했으며 self.users = ...;
을 사용하여 블록 내에서 변수를 변경하려고합니다. 블록은 [NSURLConnection sendAsynchronousRequest:queue:completionHandler]
에 대한 매개 변수로 전송됩니다. sendAsynchronousRequest
메서드는 내 "테이블 뷰 컨트롤러"의 viewDidLoad
메서드에서 호출되는 메서드에서 호출됩니다.블록 내에서 인스턴스 변수/속성에 영향을 줄 수 있습니까?
[awesomeObject.users count]
으로 전화하면 이됩니다. sendAsynchronousRequest
를 사용하는 경우
, 나는이 NSURLConnection
대리자 메서드 didReceiveResponse
, didReceiveData
및 connectionDidFinishLoading
를 구현해야합니까?
편집 :
오른쪽. 방금 numberOfRowsInSection
이 으로 호출되고 블록이 실행된다는 것을 알게되었습니다. 테이블 뷰에 자체적으로 다시로드하라는 알림을 추가하는 것을 잊었습니다. 블록 내부에서 알림을 보내면 문제가 해결되었습니다.
완료 처리기를 사용하고 있으므로 위임 메서드를 구현할 필요가 없습니다. 그러나 배열 안에 객체가 있는지 확인하십시오. – Sandeep
@ insane-36 나는 게시 후 문자 그대로의 순간을 깨달았다. 내 대답을 보라. –