如何每n个segues运行一个函数?

时间:2016-02-23 17:53:10

标签: ios swift segue func

有没有人有正确的代码来运行一个函数每隔n次发生一次?例如。每当用户在我的应用中导航10个segue时加载广告。

目前我正在做我喜欢的类似事情:

let chanceOfAd = Int(arc4random_uniform(UInt32(9)))

然后如果chanceOfAd == 0,那么我将加载广告。这并不理想,因为加载广告的概率是1/10,而不是每10个细分。当然,这应该平均相同数量的广告加载,就好像我做了每十个选项一样,但是一些用户将不可避免地收到比其他用户更多的广告,通过此功能的运气性质。

所以我想每隔10次加载广告。

2 个答案:

答案 0 :(得分:0)

尝试声明一个全局变量,只要调用函数prepareForSegue,该变量就会递增。

prepareForSegue可能看起来像这样

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    segueCounter++
    if (segueCounter % 10 == 0) {
        //you know that on this segue you should load an ad.
        //do something like telling the destination view controller to show the ad
    }

    //...

}

答案 1 :(得分:0)

使用全局变量子类或扩展UIStoryBoardSegue类并自定义perfom :方法。