0

这听起来可能不是很聪明,但我很难让这种方法发挥作用。我想使用 interstitialad 变量来存储在第一个条件下调用它的时间。然后当 callcount >=2 我想使用与以前相同的值。有人可以给我一些想法吗?

    -(void)timestamp{

       long now = [[NSDate date]timeIntervalSince1970]/1000;
        long interstitialad = 0.00;
        long finalad;

       if(Callcount ==1){
        interstitialad = [[NSDate date]timeIntervalSince1970]/1000;

       }

     else if (Callcount >= 2 && now - interstitialad >= 200){

     [self displayInterstitial];

     }
4

3 回答 3

0

首先,您必须了解,在 if else 中,每次调用时间戳时只会访问其中一个。如果您希望一次执行两项检查,请去掉 else 关键字。

如果您只想在整个类中保留 interstitialad 变量的值,只需将其从方法中移出,将其转换为实例变量,在您的界面中声明它并使用正确设置的属性保持对它的引用。

于 2012-06-20T19:15:38.740 回答
0

使其成为此代码所在类的实例变量,并使用该类的相同对象来处理所有timestamp调用。

于 2012-06-20T19:14:36.363 回答
0

在 if 语句(或 else 语句)中声明的变量在语句结束时超出范围。您必须在 if/else 语句之前声明变量,以使其值在语句之间保持不变。请注意,某些语言将绑定的 if/else 语句视为同一语句,而其他语言则不然。

于 2012-06-20T19:14:39.490 回答