好的,这是我的问题。
我希望在我的LaunchScreen退出后立即弹出一个屏幕,我希望能够在其中添加信息,但是一旦我将信息添加到其中,我就不希望再次看到该屏幕。
如果有帮助,我将使用storyboard,swift和CoreData以及Xcode 6.3。
先谢谢
答案 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)
要使用此代码,您需要更改:
NewViewControllerClass
替换为(显然)新的viewController类来设置viewController的类。newViewController
您可以使用此代码来呈现新的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)
}
}