我正在制作类似于Yelp的应用。在View控制器中,我有2个视图:带有名为'list'的插座的UITableView和一个mapView。在顶部,我有一个搜索栏。
填充表视图通常很简单,但我没有使用UITableViewController,所以它有点令人困惑。
在最顶端,我添加了一个全局变量
var cell: UITableViewCell?
然后在表函数中,我有
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("attractionCell") as! AttractionCell!
if cell == nil {
cell = AttractionCell(style: UITableViewCellStyle.Default, reuseIdentifier: "attractionCell")
}
cell.attractionName.text = title
return cell
}
在底部,我有一个函数,用于单击搜索栏,然后从Parse获取数据,并将对象的名称分配给名为“title”的变量。
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
var Query = PFQuery(className:"Stores")
Query.whereKey("Location", nearGeoPoint:area, withinMiles: 5)
Query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
let objects = objects as! [PFObject]
for object in objects {
let title = object["name"] as! String
self.cell?.attractionName.text = title
为什么我的表格视图没有填充?
此外,在故事板中,tableView中的原型单元格属于AttractionCell类,并且有一个名为attractionCell的reuseIdentifier
答案 0 :(得分:0)
尽量不写“?”在第一个变量......
就像那样:
div.c
答案 1 :(得分:0)
首先,这一行不应该删除它:
if cell == nil
{
cell = AttractionCell(style: UITableViewCellStyle.Default, reuseIdentifier: "attractionCell")
}
还删除全局变量单元格
然后你应该声明一个全局字符串数组
var arrayData = [String]()
你的函数中的删除该行:
self.cell?.attractionName.text = title
并添加此
arrayData.append(title)
self.tableView.reloadData()
在 numberofRowInSection()
中 return arrayData.count
在 cellForRowAtIndexPath()
中 cell.attractionName.text = arrayData[indexPath.row]