2015-06-11 2 views
1

Я делаю простое приложение для фактов (в быстром), и все факты находятся в отдельных диспетчерах просмотра, а когда пользователь закрывает приложение, все идет на главную страницу и вы должны начать с факта 1 снова.Открыть в том же контроллере просмотра, что и закрыто (быстро)

Я хочу знать, как сэкономить, на каком контроллере просмотра находился пользователь, когда они закрыли его, и когда они продолжат повторять факты, это начинается с этого факта. Спасибо :) также, если кто-то делает видео, я думаю, что он получит достаточное количество просмотров, чтобы начать канал YT.

+0

Вы что-то пробовали? Что не удалось? Как вы пытались это реализовать? –

+0

Я пытаюсь сделать приложение для фактов, а на главной странице он говорит о факте, и вы нажмете его, и он переходит к первому факту на отдельном контроллере представления, когда на отдельном контроллере просмотра вы щелкаете рядом, чтобы увидеть новый факт на новом контроллере. Но когда пользователь закрывает приложение, основной вид загружается, и вы нажимаете на факт, он переходит к первому факту, а не к последнему, на которое вы закрыли приложение. Как я могу заставить его перейти к тому факту, что вы закрыли приложение вместо первого? –

ответ

2

Вы можете использовать NSUserDefaults, который будет помнить ваши последние ViewController.

первую очередь вы должны хранить некоторое целое число при загрузке любого вида, как показано ниже:

FirstView.swift

override func viewDidLoad() { 
    super.viewDidLoad() 
    NSUserDefaults.standardUserDefaults().setInteger(0, forKey: "View") 
    // Do any additional setup after loading the view, typically from a nib. 
} 

SecondViewController.swift

override func viewDidLoad() { 
    super.viewDidLoad() 
    NSUserDefaults.standardUserDefaults().setInteger(1, forKey: "View") 
    // Do any additional setup after loading the view. 
} 

Теперь в вашем AppDelegate.swift прочитал, что хранятся значения и загрузите ViewController связанный с этим Integer следующим образом:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

    let viewCount = NSUserDefaults.standardUserDefaults().integerForKey("View") 
    var VC = UIViewController() 
    let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
    println(viewCount) 
    if viewCount == 0 { 
     //FirstView should initiate 
     VC = storyboard.instantiateViewControllerWithIdentifier("First") as! ViewController 
    } else if viewCount == 1 { 
     //SecondView should inititate 
     VC = storyboard.instantiateViewControllerWithIdentifier("Second") as! SecondViewController 
    } else { 
     //ThirdView Should Initiate 
     VC = storyboard.instantiateViewControllerWithIdentifier("Third") as! ThirdViewController 
    } 

    self.window?.makeKeyAndVisible() 
    self.window?.rootViewController = VC 

    return true 
} 

ЗАКАНЧИВАТЬ проект THIS образца для получения дополнительной информации.

+0

THANK U SOOO MUCH. я искал какое-то время :) –

+0

Рад помочь вам ... :) –

Смежные вопросы