Swift / parse:在一个tableViewCell中进行IBAction以进行pfrelation

时间:2014-09-06 08:14:46

标签: uitableview swift parse-platform ibaction

我想在tableViewCell中实现IBAction。 tableView显示用户列表,对于每个用户,我有一个关注按钮。

以下方法需要指定跟随的用户是小组的用户。

我怎么能这样做?

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

    let users:PFObject = self.userList.objectAtIndex(indexPath.row) as PFObject
   return cell
   }

  override func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath:   NSIndexPath) {

    let users:PFObject = self.userList.objectAtIndex(indexPath.row) as PFObject




}

@IBAction func followUnfollow(sender: AnyObject) {

    //what should i put here ?


}



func follow (user :PFUser) {


    var relation : PFRelation = PFUser.currentUser().relationForKey("KfriendsRelation")
    relation.addObject(user)
    PFUser.currentUser().saveInBackgroundWithBlock { (succeed:Bool, error: NSError!) -> Void in
        if error != nil {
            println(error)
        }
    }

}

1 个答案:

答案 0 :(得分:3)

我对你的处理方式感到有点困惑,不过我会跟它跑一会儿。要获取对单元格的引用,可以使用以下行:

let indexPath = tableView.indexPathForRowAtPoint(buttonPosition)

然后,您可以使用索引路径获取对单元格的引用,因此可以使用它执行您喜欢的操作:

let cell = tableView.cellForRowAtIndexPath(indexPath)

但是,我个人会将IBAction移动到AddFirendsTableViewCell的单元子类中,您可以在其中访问所有单元格变量和值。这意味着每个单元格的工作方式都相同,并且您不必做一些奇怪的解决方法来尝试找出按下哪个按钮。但这只是我的观点。希望这会有所帮助。