내 응용 프로그램에는 storeData 및 gotoNextView라는 두 가지 메서드가 있습니다. storeData 메서드가 실행을 완료 한 후 gotoNextPage를 실행해야합니다. storeData에서 나는 Egocache를 사용하여 로그인을 성공한 후에 얻은 토큰을 gotoNextPage에 저장하고있다. 다음 viewcontroller에서 새 뷰 컨트롤러를로드하는 데 사용되는 코드가있다. 다른 세부 정보를 가져 오기 위해 토큰을 사용해야한다. 하지만 문제는 메서드 gotoNextView storeData 전에 실행되고 그래서 다음보기에서 null 토큰 gettin입니다.다른 메서드 완료 후 메서드 실행
나는 다음을 사용하여 시도했다 :
dispatch_group_t group = dispatch_group_create();
dispatch_group_async(group,dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0),^{
[self storeData];
});
dispatch_group_notify(group,dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0),^{
[self gotoNextPage];
위의 코드는 목적을 제공하고있다하지만 난 위의 코드를 사용하고 때, 다음보기에서 NSUrlConnections로드되지 않습니다.
[self storeData];
[self performSelector:@selector(gotoNextPage) withObject:nil afterDelay:1.0f];
이 코드가 작동하고 다음보기에서 NSUrlConnections도 작동하지만, 거기 당신은 storeData 방법에 완료 블록을 전달할 수 이러한 목적을
show'storeData' 메소드 코드 – Shubhank
코드는 첫 번째 블록이 완료된 후에 작동하고 두 번째 블록을 실행해야합니다. 그렇다면 NSURLConnections의 문제점은 무엇입니까? 첫 번째 블록에서 두 가지 방법을 모두 호출 하는게 어때? –
@MartinR 그게 또한 내가 왜 이해가 .. 왜 nsurl 블록이 작동하지 않습니다 – BalaChandra