我正在尝试填充图片和文字用户的帖子。代码编译并运行但我得到空单元格。
var titles = [String]()
var locations = [String]()
var dates = [String]()
var imageFiles = [PFFile]()
override func viewDidLoad() {
super.viewDidLoad()
var privacySettingQuery = PFQuery(className: "Posts")
privacySettingQuery.whereKey("privacy", equalTo: true)
privacySettingQuery.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if let objects = objects {
for object in objects {
self.titles.append(object["name"] as! String)
self.dates.append(object["dateTime"] as! String)
self.locations.append(object["location"] as! String)
self.imageFiles.append(object["imageFile"] as! PFFile)
}
}
}
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return titles.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath(indexPath: NSIndexPath) -> UITableViewCell {
let postsCell = tableView.dequeueReusableCellWithIdentifier("PostsCell", forIndexPath: indexPath) as! PostsCell
postsCell.postImage.image = UIImage(named: "Post-Image- Placeholder-1.png")
postsCell.postTitle.text = titles[indexPath.row]
postsCell.postLocation.text = locations[indexPath.row]
postsCell.postDate.text = dates[indexPath.row]
return postsCell
}
任何帮助将不胜感激。除了使用数组之外,还有更好的方法吗?
答案 0 :(得分:0)
解决空问题。获取对象后需要调用tableView.reloadData()。 模型类如
class Post: NSObject {
var title: String
var location: String
var date: NSDate
var imageFile: PFFile
}
在viewController中使用
var posts: [Post]?
而不是4个数组
答案 1 :(得分:0)
调用此代码时
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return titles.count
}
titles.count
的值仍为0.完成从parse获取信息并且您拥有数组的值后,必须重新加载UITableView。为此,为UITableView创建一个插座并将其命名为tableView。然后调用此代码tableView.reloadData()
希望这会有所帮助!!