我试图在 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 中这样做?我之前使用过这种方法,它工作正常。我搜索了其他答案,但我找不到合适的东西。
感谢任何可用的帮助。非常感谢
答案 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'的数组。否则,它仍然会有错误。