我想在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)
}
}
}
答案 0 :(得分:3)
我对你的处理方式感到有点困惑,不过我会跟它跑一会儿。要获取对单元格的引用,可以使用以下行:
let indexPath = tableView.indexPathForRowAtPoint(buttonPosition)
然后,您可以使用索引路径获取对单元格的引用,因此可以使用它执行您喜欢的操作:
let cell = tableView.cellForRowAtIndexPath(indexPath)
但是,我个人会将IBAction移动到AddFirendsTableViewCell的单元子类中,您可以在其中访问所有单元格变量和值。这意味着每个单元格的工作方式都相同,并且您不必做一些奇怪的解决方法来尝试找出按下哪个按钮。但这只是我的观点。希望这会有所帮助。