使用Swift,我想在屏幕上添加信息,但在第一次使用后我不想再看到它

时间:2015-04-21 15:41:27

标签: xcode swift storyboard hidden

好的,这是我的问题。

我希望在我的LaunchScreen退出后立即弹出一个屏幕,我希望能够在其中添加信息,但是一旦我将信息添加到其中,我就不希望再次看到该屏幕。

如果有帮助,我将使用storyboard,swift和CoreData以及Xcode 6.3。

先谢谢

1 个答案:

答案 0 :(得分:0)

NSUserDefaults是一种存储(少量)数据的快捷方式。

let defaults = NSUserDefaults.standardUserDefaults()

defaults.setBool(true, forKey: "hasSeenStartup")

if(defaults.boolForKey("hasSeenStartup")){
    println("Don't show")
}

首先,您需要定义一组userDefaults,最简单的是standardUserDefaults()
我们可以使用setBool()设置一个键的布尔值(在我们显示弹出屏幕之后),这需要2个参数,第一个是布尔值,第二个是值的键。

当用户启动应用程序时,您需要获取密钥的布尔值。如果用户已经看过弹出窗口(它的hasSeenStartup的布尔值将设置为true),您可以跳过弹出窗口并向其显示另一个viewController

编辑:
由于您的问题似乎侧重于显示新的视图控制器而不是保存数据。以下是一些有关如何显示新视图控制器的代码。

let storyboard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc: NewViewControllerClass = storyboard.instantiateViewControllerWithIdentifier(“newViewController") as! NewViewControllerClass
self.presentViewController(vc, animated: true, completion: nil)

要使用此代码,您需要更改:

  1. 故事板名称与故事板的名称(默认为“Main”)
  2. 通过将NewViewControllerClass替换为(显然)新的viewController类来设置viewController的类。
  3. 使用标识符更改newViewController change Identifier
  4. 您可以使用此代码来呈现新的ViewController。如果您的核心数据已保存有关用户的信息,并且因此用户已看到初始屏幕,则显示此viewController。

    我建议您在ViewDidAppear内的FirstViewController方法中检索核心数据。

    override func viewDidAppear(animated: Bool) {
        if (check to see if core data is not empty){
            let storyboard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
            let vc: NewViewControllerClass = storyboard.instantiateViewControllerWithIdentifier(“newViewController") as! NewViewControllerClass
            self.presentViewController(vc, animated: true, completion: nil)
        }
    }