单击单元格中的button时,如何parsing以播放某首歌曲?

当我播放歌曲时,它会logging在我的应用程序中。 歌曲名称,艺术家等被列在一个单元格中。 每次我去下一首歌时,都会添加一个新的单元格。 目前在每个单元格中列出标题和艺术家以及button。 每当我点击button,我的程序将检查该歌曲是否在parsing,如果是它将播放该文件。 也就是说,如果select了歌曲a,它将检查歌曲a是否在parsing中,如果是,它将播放该文件,与歌曲b相同,但是如果我返回并单击第一首歌曲的播放button,则播放第二首歌曲。 如何获得每个单元格中的每个button以播放该单元格中的相应歌曲?

func playit(sender: UIButton!){ if let nowPlaying = musicPlayer.nowPlayingItem{ let title = nowPlaying[MPMediaItemPropertyTitle] as? String let artist = nowPlaying[MPMediaItemPropertyTitle] as? String println(title! + artist!) let query = PFQuery(className: "Songs") query.whereKey("SongName", equalTo: title!) query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) -> Void in if error == nil { // The find succeeded. println("Successfully retrieved \(objects!.count) song(s).") // Do something with the found objects if let objects = objects as? [PFObject] { for object in objects { println(object.objectId) let playButtonrow = sender.tag let object = object as PFObject let parseAudio = object.valueForKey("SongFile") as! PFFile let audioPath: String = parseAudio.url! let urlParse: NSURL = NSURL(string: audioPath)! player = AVPlayer(URL: urlParse) println(player) player.volume = 1.0 player.play() if (player.rate > 0) && (player.error == nil) { // player is playing println("Playing") } else { println("Not Playing") } } } } else { // Log details of the failure println("Error: \(error!) \(error!.userInfo!)") } } } } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell: UITableViewCell = self.table.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell var play: Play play = add[indexPath.row] let playButton : UIButton = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton playButton.tag = indexPath.row let imageret = "playbutton" playButton.setImage(UIImage(named: imageret), forState: .Normal) playButton.frame = CGRectMake(236, 20, 100, 100) playButton.addTarget(self,action: "playit:", forControlEvents: UIControlEvents.TouchUpInside) for view: UIView in cell.contentView.subviews as! Array<UIView> { view.removeFromSuperview() } cell.contentView.addSubview(playButton) 

听起来像这个问题是在你的tableview和重用单元格。 你如何确定按下button的单元格索引?

看一下这个。 检测在UITableView中按下了哪个UIButton