0

ASIHTTPRequest을 사용하여 이미지를 다운로드합니다.NSNotificationCenter의 ASIHTTP 요청 문제

+(void)GetImagesURL 
{ 
    NSLog(@"%i",[TripsArray count]); 
    for (int i=0;i< [TripsArray count]; i++) 
    { 

     NSURL *DetailTripURL = [NSURL URLWithString:[[TripsArray objectAtIndex:i] TripURL]]; 
     __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:DetailTripURL]; 
     [request setCompletionBlock:^{ 
      NSData *TripHTMLData = [request responseData]; 
      NSLog(@"url : %@",DetailTripURL); 
      [[TripsArray objectAtIndex:i] setTripData:TripHTMLData]; 
      //NSLog(@"%@",DetailTripHTMLData); 
      // 2 
      TFHpple *DetailTripParser = [TFHpple hppleWithHTMLData:TripHTMLData]; 

      // Get Image 
      NSString *ImageTripXpathQueryString = @"//div[@class='image_container']/img"; 
      NSArray *ImageTripNodes = [DetailTripParser searchWithXPathQuery:ImageTripXpathQueryString]; 
      NSLog(@"%i",[ImageTripNodes count]); 
      for (int j=0 ;j<[ImageTripNodes count]; j++) 
      { 
       [[TripsArray objectAtIndex:i] setImageUrl:[[ImageTripNodes objectAtIndex:j] objectForKey:@"src"]]; 
       NSLog(@"%@",[[ImageTripNodes objectAtIndex:j] objectForKey:@"src"]); 
      } 


     }]; 
     [request setFailedBlock:^{ 
      NSError *error = [request error]; 
      NSLog(@"Get Image URL Failed %@", error.localizedDescription); 
     }]; 

     [request startAsynchronous];   
    } 
     [[NSNotificationCenter defaultCenter] postNotificationName:@"Get Images URL Success" object:self]; 
} 

내가 또 다른 함수를 호출 postNotificationName를 원하는 : 나는이 코드를 썼다.

문제는 NSNotificationCenter 아니요 postNotificationName이 아닙니다. 도와주세요.

+1

이에 대해 뭔가를 작성 해주세요 해야 할 일 및 기타 관련 정보 –

+0

이미지가있는 Trips Array URL이 있습니다. URL을 가져오고 싶습니다. HTML 페이지를 구문 분석하여 TFHpple을 사용합니다. 비동기 방식으로 모든 이미지를 가져 오려면 어떻게해야합니까? PostNotificationCenter – Tefa

+0

자체를 추가 한 객체가 있습니까? NSNotificationCenter 옵저버는''Get Images URL Success ''라는 알림을 받습니까? –

답변

0

첫째, 당신은 당신이 postNotificationName+GetImagesURL 방법으로,이 호출 될 관찰자 Get_Images_URL_Success

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(gotMessages:) name:Get_Images_URL_Success object:nil]; 

을 추가 할 필요가

필요하지 않을 때 (예를 들어, 당신 removeObserver을 권장
- (void)gotMessages:(id)sender { 
    NSLog(@"This will be called after the postNotificationName"); 
} 

, in dealloc)

[[NSNotificationCenter defaultCenter] removeObserver:self name:Get_Images_URL_Success object:nil]; 

지금과 같은 당신 postNotificationNamegotMessages 방법은

[[NSNotificationCenter defaultCenter] postNotificationName:Get_Images_URL_Success object:self]; 

를 호출해야합니다 때 아주 쉽게, 그것을하지?] 당신은 당신의 코드가되어 무엇 당신의 오류 거짓말이 생각하는 경우

+0

이게 내가하는 일 Warif하지만 전화하지 마세요 메시지? – Tefa

+0

Get_Images_URL_Success 알림을 게시하고 있습니다. gotMessages는 Get_Images_URL_Success와 함께 알림을 게시 할 때마다 실행됩니다. –

+0

GotMessages With Argument Int를 호출 할 수 있습니까? – Tefa