无法调用' stringFromDate'快速错误

时间:2015-05-31 18:31:19

标签: ios swift nsdateformatter

我试图在 Swift 中进行简单的日期格式,但我收到以下错误:

"Cannot invoke 'stringFromDate' with an argument list of type '(NSDate?!)'"

我的代码如下:

override func tableView(tableView: UITableView, cellForRowAtIndexPath 

    indexPath: NSIndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCellWithIdentifier("cell", 

    forIndexPath: indexPath) as! UITableViewCell

    // Configure the cell...

    let dateFormatter = NSDateFormatter()

    dateFormatter.dateFormat = ("dd-MMM-yyyy")

    var myUsers: AnyObject = users[indexPath.row]

    let strDate = dateFormatter.stringFromDate(myUsers.createdAt)


    return cell
}

}

有谁知道为什么我不能在 Swift 中这样做?我之前使用过这种方法,它工作正常。我搜索了其他答案,但我找不到合适的东西。

感谢任何可用的帮助。非常感谢

2 个答案:

答案 0 :(得分:0)

检查以下代码:

    var dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd"
    let d = NSDate()
    let s = dateFormatter.stringFromDate(d)
    println(s)

答案 1 :(得分:-1)

这是您的第一篇文章:

这行代码未正确设置格式,因为需要将其从String转换为Date

dateFormatter.dateFromString("dd-MMM-yyyy")

所以,你必须先设置这样的格式,这只是一个小错误,下次要小心:

dateFormatter.dateFormat = "yyyy-MM-dd"

这是针对您编辑后的帖子:

这里有一个明显的错误:

var myUsers: AnyObject = users[indexPath.row]

AnyObject没有属性createdAt。这就是为什么你无法做到正确的原因。并确保users数组是' PFUser'的数组。否则,它仍然会有错误。