0

カスタムセルを使用してTableViewのボタンを使用してPFRelationを作成しようとしていますが、これらの関係を作成できません。選択したセルに関係なく、特定のユーザーとの関係のみを作成します。..

私はどこで間違っていますか?

    - (IBAction)FFAddAmiciAction:(id)sender {
             NSIndexPath *indexPath = [[self tableView] indexPathForSelectedRow];
            PFObject *searchedUser = [self.objects objectAtIndex:indexPath.row];
            PFUser *user = [PFUser currentUser  ];
             PFRelation *relation = [user relationforKey:@"Amic"];
               [relation addObject:searchedUser];
                 [user saveInBackground];
}
4

1 に答える 1

1

セルのボタンをタップしても、通常はセルが に設定されることはありませんselected。つまり、呼び出したときにindexPathForSelectedRow間違った結果が得られることがよくあります。

ボタンに関連付けられた行のインデックス パスを取得する別の方法を使用することをお勧めします。多くの潜在的なオプションがあります。

  1. インデックス パスについてボタンに教える (おそらくobjc_setAssociatedObject)
  2. indexPathForRowAtPoint:ボタンの中心点に基づいて行を取得するために使用します (座標空間を変換することを忘れないでください)。

入力したので、構文とスペルをチェックしてください...

CGPoint point = [(UIButton *)sender convertPoint:[(UIButton *)sender center] toView:[self tableView]];
NSIndexPath *indexPath = [[self tableView] indexPathForRowAtPoint:point];
于 2013-09-30T11:16:33.993 に答える