用数据填充TableView

时间:2015-09-06 23:23:09

标签: swift uitableview uisearchbar

我正在制作类似于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

2 个答案:

答案 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]