无法在swift中显示Cell Date,没有错误

时间:2015-06-03 05:40:49

标签: uitableview swift cell

好吧所以基本上使用parse设置一个基本的消息传递应用程序,让我的消息控制器在这里完成,但是单元格数据没有显示。我没有得到任何错误,所以没有多少继续下去。任何有新鲜眼睛的人都可以发现错误代码如下: -

class MessagesTableViewController: UITableViewController {
var messages = []

override func viewWillAppear(animated: Bool) {
    messages = []
    self.navigationController?.title = "My Messages"
    var currentUser = PFUser.currentUser()?.username
    var query = PFQuery(className: "toUser")
    query.whereKey("toUser", equalTo: currentUser!)
    query.orderByDescending("createdAt")
    query.findObjectsInBackgroundWithBlock({ (results: [AnyObject]?, error: NSError?) -> Void in
        if error == nil {
            self.messages = results!
            self.tableView.reloadData()
        }
    })
}

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return messages.count > 0 ? 1 : 0
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return messages.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell
    let messageDate = messages[indexPath.row].valueForKey("createdAt") as! NSDate
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "dd-MMM-yyy hh:mm:ss"
    let strDate = dateFormatter.stringFromDate(messageDate)
    let message: String = messages[indexPath.row].valueForKey("message") as! String
    let fromUser: String = messages[indexPath.row].valueForKey("fromUser") as! String
    cell.textLabel?.text = message
    cell.detailTextLabel?.text = "From \(fromUser) : \(strDate) "
    return cell
}

}

任何想法? 感谢

2 个答案:

答案 0 :(得分:0)

我试过这样的事情,不管是重新加载dataSource。我想这可能是数据问题。

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    swift_dispatch_after(2, { () -> () in
        self.array = NSArray(objects:"a","bb","vcc")
        self.tableView.reloadData()
    });
}

// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return array.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath) as! UITableViewCell
    if array.count != 0 {
      let messageDate = NSDate()
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd-MMM-yyy hh:mm:ss"
        let strDate = dateFormatter.stringFromDate(messageDate)

        cell.textLabel?.text = (array[indexPath.row] as! String) + strDate
    }
    return cell
}

答案 1 :(得分:0)

好吧,只是去看看代码,长期伤害你的眼睛!由于一个简单的错误,数据没有通过

这一行: -

var query = PFQuery(className: "message")

我最初把它设置为

var query = PFQuery(className: "toUser")

我的数据中的表名错误

感谢所有看过这个的人