Вы могли бы добиться этого за счет экономии цитаты и время, был создан в NSUserDefaults
(в Swift3, это будет называться UserDefaults
Во-первых, сгенерировать цитату, и сохранить его в виде строки в переменной. Мы Назовите это myQuote
. Затем получите текущее время, инициализируя новый объект NSDate
(начиная с Swift 3, Date
) и получив временной интервал с 1970 года (.timeIntervalSince1970
в Swift) и сохраните его в переменной, которую мы будем звоните myTime
.
Затем, когда пользователь открывает приложение, получите сохраненное время и проверьте, уже более одного дня. Если это так, создайте новую цитату и сохраните ее. Если это не так, просто покажите сохраненную цитату.
Вот пример того, как к этому с помощью Swift 2
// get the quote stored in NSUserDefaults for the key "storedQuote"
let storedQuote: String? = NSUserDefaults.standardUserDefaults().stringForKey("storedQuote")
// get the time stored in NSUserDefaults for the key "storedTime"
let storedTime: Double = NSUserDefaults.standardUserDefaults().doubleForKey("storedTime")
// get the current time interval since 1970
let currentTime = NSDate().timeIntervalSince1970
let quoteToDisplay: String
// if the stored quote doesn't exist, or it has been more than
// a day (60 * 60 * 24 seconds) since the quote was stored
if(storedQuote == nil || currentTime - storedTime >= (60 * 60 * 24)){
// generate a new quote
quoteToDisplay = myFunctionForGeneratingANewQuote()
// store the newly generated quote for the key "storedQuote"
NSUserDefaults.standardUserDefaults().setObject(quoteToDisplay, forKey: "storedQuote")
// store the current time for the key "storedTime"
NSUserDefaults.standardUserDefaults().setObject(currentTime, forKey: "storedTime")
NSUserDefaults.standardUserDefaults().synchronize()
}
else{
// otherwise, the quote != nil and was generated less than a day ago
// so this one should be displayed
quoteToDisplay = storedQuote!
}
//display quoteToDisplay
myFunctionForDisplayingAQuote(storedQuote)
В Swift 3, все экземпляры NSUserDefaults
и NSDate
будут заменены их новыми именами, UserDefaults
и Date
соответственно.
Всякий раз, когда вы хотите отобразить цитату, вы должны позвонить по коду выше. В вашем случае это скорее всего будет вашим viewDidLoad
функцией
Google 'NSUserDefaults' и попробуйте. – Bek