首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用打开5次后显示提醒

应用打开5次后显示提醒
EN

Stack Overflow用户
提问于 2017-09-02 03:07:11
回答 2查看 64关注 0票数 1

在打开应用程序5次后弹出通知时遇到一些问题。我正在使用NSUserDefaults和applicationDidFinishLaunching来实现这一点。但我似乎不能让它工作。下面是我的代码:

代码语言:javascript
复制
func applicationDidFinishLaunching(_ application: UIApplication) {
    let currentCount = UserDefaults.standard.integer(forKey: "lanuchCount")
    UserDefaults.standard.set(currentCount + 1, forKey: "lanuchCount")
    UserDefaults.standard.synchronize()

    if currentCount == 3 {
        print("Opened")
    }
}

我知道我的if语句不正确,但这是我对如何跟踪金额和显示消息的唯一猜测。我没有工作的警告,因为我想看看在打开控制台三次后,是否可以在控制台中显示打印消息。

编辑:将我的代码更改为一些回复说要做的事情。它仍然不能正常工作。

代码语言:javascript
复制
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    let currentCount = UserDefaults.standard.integer(forKey: "launchCount")
    UserDefaults.standard.set(currentCount + 1, forKey: "launchCount")
    UserDefaults.standard.synchronize()
        if (currentCount + 1) == 3 {
            print("opened")
            let alert = UIAlertView()
            alert.title = "Test"
            alert.message = "Test"
            alert.addButton(withTitle: "Okay")
            alert.show()
    }
    return true
}
EN

回答 2

Stack Overflow用户

发布于 2017-09-02 05:13:07

请尝试使用didFinishLaunchingWithOptions。然后,您可以设置第一个视图控制器的viewDidLoad来显示您想要的警报。

票数 0
EN

Stack Overflow用户

发布于 2017-09-02 05:18:19

你的代码是好的,它应该是工作的,但是有一件事你应该知道。您使用的是保存在UserDefaults上的最后一个状态,换句话说,如果您在UserDefaults值为0时首次打开应用程序,则在if语句中使用该值,而不是在添加到UserDefaults中的+1语句中使用该值,并且在应用程序重新启动4次后,if语句将被触发,如果您希望在3次后查看结果,则应使用类似以下内容

代码语言:javascript
复制
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    let currentCount = UserDefaults.standard.integer(forKey: "lanuchCount")
    UserDefaults.standard.set(currentCount + 1, forKey: "lanuchCount")
    UserDefaults.standard.synchronize()

    if (currentCount + 1) == 3 {
        print("Opened")
    }

    return true
}

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46006570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档