我似乎无法让这个工作。我有一个数组users
,它应该保存Parse数据库中保存的所有用户。在查询中,用户从解析中填充PFUsers。例如,如果我println(self.users)
,它会正确显示数据库中的所有用户。但是,它没有用它们填充表格,如果我在任何表函数中执行相同的println(self.users)
,它将显示为空数组。此外,如果我最初用users = [“X”,“Y”,“Z”]填充数组,那么查询将删除这些值并从Parse插入用户,然后表格将输入初始的X,Y和Z值。这让我发疯了。
import UIKit
class receivers: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet var tableView: UITableView!
var users = [""]
override func viewDidLoad() {
super.viewDidLoad()
var query = PFUser.query()
query.findObjectsInBackgroundWithBlock({ (objects: [AnyObject]!, error: NSError!) -> Void in
self.users.removeAll(keepCapacity: true)
for object in objects {
var user:PFUser = object as PFUser
if user.username != PFUser.currentUser().username {
self.users.append(user.username)
}
}
})
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return users.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
cell.textLabel?.text = users[indexPath.row]
return cell
}
}
答案 0 :(得分:1)
一旦将所有对象加载到tableView引用的数组中,就需要调用self.tableView.reloadData()
。
快乐的编码!