如何从解析数据中获取数字和日期数据并将其放入UILabel?

3

目前我想从 Parse 数据库中检索 createdAtprice,两者的数据类型均为 NumberNSDate。在检索完成后,我希望将它们分别传递给 UILabel(代码中的 dateprice)。问题是当我尝试运行模拟器时,UILabel 中的数据不显示,而字符串数据类型却能正常显示。

我的当前代码:

if let createdAt = object?["createdAt"] as? String {
            cell.date.text = createdAt
        }


if let priceTitle = object?["price"] as? String {
            cell.price.text = priceTitle
        }

你确定吗? "createdAt" 是 Parse 中的特殊值,是NSDate类型。 - Vasil Garov
是的,它是日期格式,但我该如何将其转换为字符串?你能回答这个问题吗,这样我就可以接受它了吗? - sinusGob
2个回答

0

对于日期,使用NSDateFormatter.stringFromDate方法,因此您的代码应该是:

if let createdAt = object?["createdAt"] as? NSDate {
  let dateFormatter = NSDateFormatter()
  var theDateFormat = NSDateFormatterStyle.ShortStyle
  dateFormatter.dateStyle = theDateFormat
  cell.date.text = dateFormatter.stringFromDate(createdAt) 
}

我使用了你的代码,但是出现了“使用未声明的类型‘Date’”的错误,这是什么问题? - sinusGob
做了一个更改:不是Date而是NSDate,抱歉 :-) - fred foc
我尝试打印出cell.date.text,但没有任何显示。 - sinusGob
你是否正在通过 if 语句? - fred foc

0

createdAt 是 Parse 中的一个特殊值。它是 PFObject 的属性,您可以使用点符号访问它。因此,您应该按照以下步骤进行:

if let object = object as? PFObject {
    let date = object.createdAt
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "HH:mm MMMM dd, yyyy"
    let dateStr = dateFormatter.stringFromDate(date!)
    cell.date.text = dateStr
}

我尝试了println,但它没有显示输出。问题出在哪里? - sinusGob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接