我正在开发一个 iOS 应用程序,我想记录用户按下特定按钮的时间并保留它。稍后我会在后台使用这个时间记录。有没有一种好的方法可以在不调用 NSUserDefaults 或 CoreData 或任何其他数据库的情况下做到这一点?
我对 iOS 开发非常陌生。我认为这很可能是一个天真的问题。但我只是好奇。请不要笑我哈哈。
编辑:这确实是一个非常天真的问题哈哈。
最佳答案
确保数据在应用程序中的任何位置都可用并且仅在每个应用程序 session 中持续存在的一种简单方法是使用单例。 类似这样的东西。
// Create a class to store the data
class SessionData : NSObject {
// Create a shared instance of your class
static let sharedInstance = SessionData()
// Create a variable to store the date object
var timeStore:NSDate?
}
这意味着您可以在应用中的任何位置获取
和设置
此数据如下。
// Get
if let time = SessionData.sharedInstance.timeStore {
println(time)
}
// Set
SessionData.sharedInstance.timeStore = NSDate()
值得一提的是,尽管上述方法是有效的,但您可以通过重新考虑应用程序结构并在类之间传递数据来避免这样做。您应该看看在Delegation .
正如 @CouchDeveloper 在下面的评论中提到的,您可能需要包含一个调度队列,以防止在两个或多个类尝试同时读取和/或写入数据的情况下发生崩溃或锁定。
关于ios - 在 Swift 中将变量从前台传递到后台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31401265/