나는이 문제를 해결하기 위해 여전히 새로운 목표를 가지고 있습니다. -c &. 다음과 같이 말하면됩니다.테이블 뷰 셀에서 responseObject에 액세스 할 수있게 만들기
나는이 방법을 잘못 사용하고 있지만 기본적으로 특정보기를 표시 할 컨트롤러가 있습니다.
- (void)viewDidLoad
{
[super viewDidLoad];
[[CustomAPIClient sharedClient] getPath:@"/api/profile" parameters:[NSDictionary dictionary] success:^(AFHTTPRequestOperation *operation, id responseObject) {
}];
**//Now, how do I get my responseObject out here??**
}
그래서 제 질문은 다음과 같습니다 :
- 가 어떻게 그 블록의 외부 responseObject를 얻을 수 있습니다 또한이 같은 다른 컨트롤러가 있습니까?
[[CustomAPIClient...
블록을 호출하지 않고 인증 상태를 유지할 수있는 방법이 있습니까?
미리 감사드립니다.
내가하는 일에 대해 더 잘 설명하고 싶습니다.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.meResponseObjectFromAboveCode count];
}
그래서 내가 무슨 내 응답 객체가 블록이 실행 단위
그래, 대부분의 경우 테이블보기를 담당하는보기 컨트롤러는 대리인 및 데이터 원본 역할을합니다. 테이블에 표시해야하는 데이터의 배열이 인스턴스 변수에 저장됩니다. 뷰 컨트롤러가 나타내는 화면이 처음 표시 될 때 해당 배열은 비어 있으므로 테이블보기도 비게됩니다. 이 시점에서 적재 표시기를 올릴 수 있습니다.그런 다음 getPath 요청을 실행 취소하고 성공 블록에서 배열에'responseObject' 내용을 채우고 테이블보기에서'reloadData'를 호출하고 회 전자를 숨 깁니다 – atomkirk
블록 내에서 인스턴스 변수를 수정할 수 있습니다 __block 키워드를 사용하지 않고 NSArray가 스레드로부터 안전하지 않은 경우, 테이블 스레드를 읽는 데 사용되는 동일한 위치 인 주 스레드에서 수정하는 경우에만 확인하십시오. 메인 쓰레드에 블록을 다시 넣는 예 :'[[NSOperationQueue mainQueue] addOperationWithBlock :^{// 여기 메인 큐를위한 코드}]; ' – atomkirk
고맙습니다. 너는 큰 도움이되었다. – goo