好吧所以基本上使用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
}
}
任何想法? 感谢
答案 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")
我的数据中的表名错误
感谢所有看过这个的人