Attempting to store the variable DateInstalled
when the app is first installed, but each time the app loads this variable is overridden by the new date.
Hey @Curtis Cowan try with this
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let firstLaunch = NSUserDefaults.standardUserDefaults().boolForKey("FirstLaunchTime")
if firstLaunch {
println("Not First launch")
}
else {
println("First launch")
NSUserDefaults.standardUserDefaults().setObject(NSDate(), forKey:"FirstLaunchTime")
}
return true
}
first make your date optional:
var installedDate: NSDate? {
get {
return NSUserDefaults().objectForKey("installedDateKey") as? NSDate
}
set {
NSUserDefaults().setObject(newValue, forKey: "installedDateKey")
}
}
and inside your viewDidLoad method add a conditional to only save its value if it stills nil:
override func viewDidLoad() {
super.viewDidLoad()
if installedDate == nil {
installedDate = NSDate()
print("First run")
} else {
print("Not first run")
print(installedDate!)
}
}
Xcode 8 • Swift 3
var installedDate: Date? {
get {
return UserDefaults.standard.object(forKey: "installedDateKey") as? Date
}
set {
UserDefaults.standard.set(newValue, forKey: "installedDateKey")
}
}