gpt4 book ai didi

ios - NSDateformatter dateFromString AnyObject

转载 作者:行者123 更新时间:2023-11-28 13:18:33 30 4
gpt4 key购买 nike

我有一个 NSDates 的 AnyObjects 数组,我正在尝试转换为工作日,例如(周一、周二、周三......)

当我将它打印到控制台时,数组看起来像这样:

[2014-12-03 22:16:26 +0000, 2014-12-05 22:16:26 +0000, 2014-12-11 22:16:26 +0000]

这是我的代码:

var xAxisDates = [AnyObject]()


func dateformatter() {
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"

let weekDayFormatter = NSDateFormatter()
weekDayFormatter.dateFormat = "EEE"

println(xAxisDates)

for i in xAxisDates{

let date = formatter.dateFromString(i as String)
println(weekDayFormatter.stringFromDate(date!))
}
}

代码崩溃于:

    let date = formatter.dateFromString(i as String)

我一整天都在努力找出我做错了什么,并阅读了几乎所有关于 NSDateFormatter 的问题,但无济于事。我将 i 转换为字符串,因为如果我不这样做,我会收到错误消息 AnyObject 不可转换为字符串。我的感觉是类型不匹配,但我不确定,而且我不知道如何找出答案。如果有帮助,我已将错误消息作为图片附上。如果您可以推荐有关如何理解错误的教程或书籍或其他东西,我将不胜感激,因为我正在努力学习。

任何帮助将不胜感激!

enter image description here

最佳答案

xAxisDates 数组包含 NSDate 对象,因此

let date = formatter.dateFromString(i as String)

没有任何意义,i as String 已经崩溃了,因为 i 是一个 NSDate而不是 String

您只需要将日期转换为字符串:

for i in xAxisDates {
println(weekDayFormatter.stringFromDate(i as NSDate))
}

或者更好地检查数组元素是否实际上是 NSDate 对象:

for i in xAxisDates {
if let date = i as? NSDate {
println(weekDayFormatter.stringFromDate(date))
}
}

关于ios - NSDateformatter dateFromString AnyObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27713648/

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