gpt4 book ai didi

ios - 如何在没有 fatal error 的情况下将变量保存到 NSUserdefaults

转载 作者:搜寻专家 更新时间:2023-11-01 07:22:25 25 4
gpt4 key购买 nike

我试图在点击 UICollectionView 单元格时将一些变量保存到 NSUserDefaults,但出现以下错误。

fatal error: unexpectedly found nil while unwrapping an Optional value

这是我在点击单元格时使用的代码。

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
// handle tap events
let text = Globals.sinceLabelArray[indexPath.item]
userDefaults.setObject(text, forKey: "sinceText")

let image = String(Globals.imagesArray[indexPath.item])
userDefaults.setObject(image, forKey: "khoury")

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let daydate = Globals.datesArray[indexPath.item] as String
userDefaults.setObject(daydate, forKey: "day")
performSegueWithIdentifier("menutohome", sender: nil)
}

这是它影响的 View ,以及如何影响。

let day = userDefault.objectForKey("day") as? NSDate
let date1 = day
let date2 = NSDate()
let diffDateComponents = NSCalendar.currentCalendar().components([NSCalendarUnit.Day, NSCalendarUnit.Hour, NSCalendarUnit.Minute, NSCalendarUnit.Second], fromDate: date1!, toDate: date2, options: NSCalendarOptions.init(rawValue: 0))

谢谢

最佳答案

我认为您将 dayDate 设置为字符串

let daydate = Globals.datesArray[indexPath.item] as String // <- String
userDefaults.setObject(daydate, forKey: "day")

当你将它作为 NSDate 回调时

let day = userDefault.objectForKey("day") as? NSDate // <- NSDate

更新:

您可以先将 dateObject 保存为 String 到 NSUserDefaults 中。一旦你想使用它,然后使用 dateFormatter 使它成为 NSDate。

例子:

当你从 NSUserDefaults 回调它时

        let day = userDefault.objectForKey("day") as? String
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" // this format must equal to what it returns from the server

let dayDate: NSDate = dateFormatter.dateFromString(day)
print(dayDate) // your NSDate

关于ios - 如何在没有 fatal error 的情况下将变量保存到 NSUserdefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38117378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com