2012-06-18 3 views
0

특정 시간 간격으로 방법을 실행하는 데 문제가 있습니다. 나는 그것을위한 방법이있다. 내가보기에 두 번째 값 (mynumber)을 저장하는 변수는 제대로 읽히지 않습니다 ..myumber는 웹 사이트에서 추출한 200 초를 유지한다고 가정하지만 작동하지 않는 것 같습니다. displayinterstitial은 다소 짧은 시간에 호출됩니다. 올바른 방향으로 포인터를 얻으려고합니다.타이머가 제대로 작동하지 않습니다.

-(void)connectionDidFinishLoading:(NSURLConnection*)connection 
{ 
    NSString *theResult = [[NSString alloc] initWithBytes:[webData mutableBytes] 
               length:[webData length] 
               encoding:NSUTF8StringEncoding]; 
    NSLog(@"xml : %@",theResult); 
    mynumber =[theResult doubleValue]; 
} 

-(void)test 
{ 
    if(Callcount ==1) 
    { 
    [self performSelector:@selector(displayInterstitial) 
       withObject:nil 
       afterDelay:mynumber]; 
    } 
} 
+0

"mynumber는 추출 된 200 초를 보유한다고 가정합니다." 당신은 "하지 않는다"라고 말합니다. 그렇다면 mynumber의 결과를 초보자 용으로 로깅하는 것은 어떻습니까? – Gruntcakes

+0

@MartinH 실제로 웹 사이트에서 추출한 200 개의 double 값을 보유합니다. – ilaunchpad

답변

0
거의 확실히, test 전에 connectionDidFinishLoading 호출되어

또는 mynumbertest가 호출되는 시점에서 200 없다. 이것들이 불리는 순서를 확인 했습니까? test이라는 점에서 mynumber의 값을 확인 했습니까?

0

값이 mynumber에 할당 된 지점이 아니라 performSelector가 호출 될 때 값이 200임을 확인 했습니까? 어떻게 검사하고, 테스트 기능에서 NSLog에 대한 호출이 보이지 않습니다.

숫자가 200이면 코드를 여러 번 실행하지 않고 실제로 실행 시간이 짧아집니다. 이전에 만료되는 performSelector에 대한 이전 호출이 실제로 있습니까?

+0

NSlog가 있습니다. – ilaunchpad

관련 문제