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

How to run a function every n number of segues?

有没有人有合适的代码来 运行 每发生 n 次 segue 的函数?例如。每次用户在我的应用程序中浏览 10 个 segues 时加载一个广告。

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

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

然后如果 chanceOfAd == 0 ,那么我将加载广告。这并不理想,因为它是加载广告的 1/10 机会,而不是每 10 个 segue。当然,这应该平均出与我每 10 个选项相同的广告加载量,但有些用户不可避免地会收到比其他人更多的广告,这是由于目前功能的运气性质。

所以我想每 10 次转场就加载一次广告。

尝试声明一个全局变量,该变量在函数 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
    }

    //...

}

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