0

特定の時間間隔でメソッドを実行する際に問題があります。私はそれのための方法を持っています。私が見るところ、2 番目の値 (mynumber) を格納する変数が正しく読み取られていないことがわかります。mynumber は、Web サイトから抽出された 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];
    }
 }
4

2 に答える 2

0

ほぼ確実に、のtest前に呼び出されるconnectionDidFinishLoadingか、呼び出さmynumberれた時点で200ではありませんtest。これらが呼び出される順序を確認しましたか?と呼ばれるmynumber時点での値を確認しましたか?test

于 2012-06-18T20:51:34.143 に答える
0

mynumberに値が代入された時点ではなく、 performSelector が呼び出された時点で値が200であることを確認しましたか? テスト関数で NSLog への呼び出しが見られません。

それが 200 の場合、コードを連続して数回実行しておらず、短い起動時間は実際には、ちょうど今期限切れになっている performSelector への以前の呼び出しですか?

于 2012-06-18T20:54:31.287 に答える