質問: tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell return cell } ``` **tableView: UITableViewとcellForRowAtIndexPath indexPath: NSIndexPath**の値が取得できればcellの情報は取得できるのですが、、 通常、このメソッド中で処理すれば良いのですが、 StoryBoardからTapped GestureでActionを指定しているので、 それは使えません。 尚、コードでそのcellに関連付けたGestureを関連付けると、 UITableViewが持っているGesture系のイベントとバッティングして反応しないという現象が起こっているのでStoryBoardのcell上のGestureを貼り付けている状態です。 メソッドの引数にtableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPathを追加すればStoryboardから動作しなくなりますし、そもそもメソッドにそれらの引数を追加すれば値が渡ってくるものなのかなという疑問もあります。。。 ご教授いただけないでしょうか。
回答: コメントだけでは分かりづらいのでサンプルコードで説明させていただきます。 (説明用のコードのため色々とツッコミどころがあるかもしれませんがご容赦ください) ``` func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell let cellImageView:UIImageView = UIImageView() cellImageView.tag = indexPath.row let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: "tappedImge:") cellImageView.addGestureRecognizer(tapGestureRecognizer) cell.addSubview(cellImageView) return cell } func tappedImge(sender:UITapGestureRecognizer) { let imageView = sender.view as UIImageView //各cellのcellImageViewを取得 println(imageView.tag) //行数を利用する必要がある場合はcellImageViewのtagの値を参照 } ``` 上記のような形になっているとして、 sender.viewでUITapGestureRecognizerを実装したUIView(cellImageView)が取得でき、 imageView.tagでindexPath.rowの値を取得することが可能です。