我遇到在特定时间间隔内运行方法的问题。我有一个方法。从我看到的是,存储第二个值(mynumber)的变量没有被正确读取.mynumber假设从网站提取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 :(得分:0)
几乎可以肯定,在test
之前调用connectionDidFinishLoading
,或者在调用mynumber
时test
不是200。你验证了这些被叫的顺序吗?您是否在mynumber
被调用的位置验证了test
的价值?
答案 1 :(得分:0)
您是否确认在调用performSelector时该值为200,而不是在将值分配给mynumber时?你是如何检查的,我没有在测试函数中看到任何对NSLog的调用。
如果它是200那么你确定你没有连续几次运行代码而短时间的火灾时间实际上是之前调用的performSelector刚刚到期吗?