所以我有一個視圖控制器是應用程序的初始視圖控制器4個按鈕。NSUserDefaults的使用節省的ViewController頁觸動按鈕塞格斯到導航控制器
每個按鈕是「SHOW」 segued到不同的導航控制器(其連接到一個UITableView)。
我的目標就是以某種方式保存哪個按鈕被觸動NSUserDefaults的使用和跳過視圖控制器和應用程序被打開,每次直接到選定的導航控制器!這可能嗎?
我在斯威夫特
寫這本是我的AppDelegate(上警告 「變種buttonSelected」):
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
var buttonSelected = NSUserDefaults.standardUserDefaults().integerForKey("buttonSelected")
print("run")
return true
}
}
這是我的視圖控制器爲我的4個按鍵:
import UIKit
class NSUserDefault: UIViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
var buttonSelected: Int = 0
if (segue.identifier == "button1Segue") {
buttonSelected = 1
}
else if (segue.identifier == "button2Segue") {
buttonSelected = 2
}
else if (segue.identifier == "button3Segue"){
buttonSelected = 3
}
else if (segue.identifier == "button4Segue") {
buttonSelected = 4
}
NSUserDefaults.standardUserDefaults().setInteger(buttonSelected, forKey: "buttonSelected") // Save the selection in user defaults
NSUserDefaults.standardUserDefaults().synchronize() // Save changes
print("runs")
if buttonSelected == 1 {
let welcomeVC: UIViewController = self.storyboard!.instantiateViewControllerWithIdentifier("ONW") as UIViewController
self.parentViewController?.presentViewController(welcomeVC, animated: true, completion: nil)
}
if buttonSelected == 2 {
let welcomeVC: UIViewController = self.storyboard!.instantiateViewControllerWithIdentifier("OE") as UIViewController
self.parentViewController?.presentViewController(welcomeVC, animated: true, completion: nil)
}
if buttonSelected == 3 {
let welcomeVC: UIViewController = self.storyboard!.instantiateViewControllerWithIdentifier("OS") as UIViewController
self.parentViewController?.presentViewController(welcomeVC, animated: true, completion: nil)
}
if buttonSelected == 4 {
let welcomeVC: UIViewController = self.storyboard!.instantiateViewControllerWithIdentifier("ON") as UIViewController
self.parentViewController?.presentViewController(welcomeVC, animated: true, completion: nil)
}
}
}
看看這個https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/ –
在你的AppDelegate中,實現類似於這裏的答案:http:/ /stackoverflow.com/questions/27208103/swift-detect-first-launch – Shades
就又跑它在我的手機上,它仍然繼續啓動初始視圖控制器...我會上傳新的代碼回到我的問題@Shades –