这可能听起来不是很聪明,但我在使这种方法有效方面遇到的困难很小。我想使用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];
}
答案 0 :(得分:0)
使它成为此代码所在类的实例变量,并使用该类的同一对象来处理所有timestamp
次调用。
答案 1 :(得分:0)
语句结束时,在if语句(或else语句)中声明的变量超出范围。您必须在if / else语句之前声明变量,使其值在语句之间保持不变。请注意,某些语言将绑定的if / else语句视为同一语句而其他语句则不会。
答案 2 :(得分:0)
首先你必须明白,在if if中,每次调用时间戳时都只会访问其中一个。如果您希望在一次运行中执行两项检查,请删除else关键字。
如果您只想在整个类中保留interstitialad变量的值,只需将其转换为实例变量,方法是将其移出方法,在界面中声明它并使用它的属性保持对它的引用设置正确。