我的TableViewController卡住了(初学者)

时间:2014-10-23 07:07:01

标签: ios xcode swift

这段代码在我的TableViewController中,当我模拟它时,单元格会加载正确的内容,但无法滚动或点击视图。我在didSelectRowAtIndexPath中放了一个prinln(),它甚至没有记录。什么时候会发生?

这是我在viewDidLoad中的代码

    super.viewDidLoad()


    var query = PFUser.query()
    query.findObjectsInBackgroundWithBlock({

     (objects: [AnyObject]! , error: NSError!) in

     self.users.removeAll(keepCapacity: true)

        for object in objects {
            var user: PFUser = object as PFUser
            var isfollowing:Bool = false
            if user.username != PFUser.currentUser().username{
            self.users.append(user.username)


                var query = PFQuery(className: "followers")
                query.whereKey("follower", equalTo: PFUser.currentUser().username)
                query.whereKey("following", equalTo: user.username)
                query.findObjectsInBackgroundWithBlock({ ( objects:[AnyObject]!, error: NSError!) -> Void in
                    if error == nil {
                        for object in objects {
                            isfollowing = true
                        }
                        self.following.append(isfollowing)

                    }
                   self.tableView.reloadData()
                    }

填写表格单元格的代码非常基本,返回一个数组的计数,并将textlabel设置为array [indexPath.row]。

谢谢你

1 个答案:

答案 0 :(得分:1)

为什么不坚持使用来自UITableView的标准代表。

在情节提要中创建一个表,并创建一个带标识符的默认单元格。将ViewController连接为表格的代表。

完成后,使用您拥有的数组填充数组单元格。

示例:

func numberOfSectionsInTableView(tableView: UITableView!) -> Int {
    // Return the number of sections.
    return 1
}

func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
    // Return the number of rows in the section.
    return userArray.count
}


func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
    let cell = tableView.dequeueReusableCellWithIdentifier("objectCell", forIndexPath: indexPath) as UITableViewCell

    var user:User            = userArray.objectAtIndex(indexPath.row) as User

    var imageView:UIImageView   = cell.viewWithTag(1) as UIImageView
    var ageLbl:UILabel          = cell.viewWithTag(2) as UILabel
    var nameLbl:UILabel         = cell.viewWithTag(3) as UILabel

    nameLbl.text                = user.name
    ageLbl.text                 = user.age
    imageView.image             = user.Image

    return cell
}